Задать вопрос
Quber
@Quber
PHP Team lead

Cтоит ли создавать отдельную таблицу для картинок в БД ?

Предположим, есть несколько таблиц - Категории, Посты, Отзывы, Фотоальбом, Партнёры, Новости, Статьи, События и так далее. К каждой записи для каждой из таблиц необходимо прикреплять картинку. Стоит ли создавать для этого отдельно таблицу с картинками? Её можно привязать к другим таблицам + в ней можно хранить описание картинки. Или это глупая идея?
  • Вопрос задан
  • 2974 просмотра
Подписаться 6 Оценить 1 комментарий
Решения вопроса 2
Картинкам - отдельную таблицу, однозначно! Нормализация, индексация, оптимизация!
Ответ написан
AxisPod
@AxisPod
Однозначно стоит. Зачем плодить сущности в каждой таблице? А в таблицу картинок добавить путь, добавить размеры и другую необходимую информацию. Да и в случае расширения придется поменять только одну сущность, а не множество.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
svd71
@svd71
На самом деле картинки - это такой ресурс, который лучше не колбасить движком без надобности. Запросто скажется на производительности. Намного лучше в базе в отдельной таблице хранить описание картинки(путь к файлу, заголовок и т.д. и т.п.), но картинку физически хранить на диске. С файловой системой операции показа картинок будут проходить намного быстрее.
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
В подавляющем большинстве случаев лучше всего хранить в БД название файла, а не саму картинку. Это гораздо более производительное решение. Единственный случай приходит на ум, когда хранить в БД имеет смысл, это когда есть несколько бэкендов, но нет выделенного файлового хранилища и не хочется заморачиваться с синхронизацией файлов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы