Как правило, первым шагом к повышению производительности будет удаление изображений из БД и просто создание URL-адресов в БД. После этого вы сможете очень быстро обработать эти изображения в виде статических файлов. Операционная система / сервер должны автоматически кэшироваться в соответствии с доступной памятью. Это также имеет ряд других преимуществ:
Вы можете легко разместить кеширующий прокси-сервер перед реальным веб-сервером для еще большей производительности или распределения нагрузки.
Вы можете переместить статический файловый сервер на совершенно другой веб-сервер (или кластер веб-серверов) из реального веб-приложения. Опять же, балансировка нагрузки, а также настройка серверов (производительность и безопасность) для различных специализированных задач.
Вы можете поместить файлы на избыточный, масштабируемый, высокопроизводительный NAS.
Вы можете делать все вышеперечисленное в любой комбинации.
Поскольку они будут статическими файлами, а не из БД, другие прокси-серверы кэширования (скажем, у большого провайдера) будут хранить их для вас, уменьшая пропускную способность и повышая производительность для пользователей.
p.s .: учитывая все преимущества этого небольшого разделения статических файлов и динамической информации базы данных, вы могли бы многое узнать об дизайне ортогональных систем из этого примера;)