Всем привет! На сайте есть посты, новости, комментарии и т.д. Ко всем этим сущностям можно прикрепить изображение (одно или несколько).
В БД изображения хранятся по принципу:
- id - уникальный ID изображения
- name - имя изображения на сервере
- mode - модуль (posts, news, comments и т.д.)
- mode_id - ID модуля
Соответственно, получить изображения для
новости с ID ==
555 нужно с помощью запроса:
SELECT * FROM `images` WHERE `mode` = 'news' AND `mode_id` = 555
Недостатками данного способа хранения вижу:
бОльший объем таблицы за счет того, что там хранятся изображения со всех модулей, а значит со временем, например при создании записи с очередным изображением, пересохранение индексов будет происходить медленней.
Поиск по такой таблице тоже будет медленней.
Стоит ли разделить хранение изображений по разным таблицам? Например
posts_images,
news_images,
comments_images. Либо мои минусы не такие уж и минусы и я чего-то не вижу?