В настоящее время я работаю над продуктом, в котором есть различные типы изображений, такие как изображения продукта, изображения профиля пользователя, логотип и т. Д. Мне нужна база данных с хорошей производительностью запросов.
Я задумал два проекта БД.
ВАРИАНТ 1. - Сохранение всех изображений в одной таблице с полями id, title, url_full, url_thumb, status и timestamp
Преимущества
- Я могу использовать один файл ImageModel для вставки данных удаления / обновления. Таким образом, не будет множественной логики для хранения изображений. Это всего лишь единая логика, «хранение в единой таблице». Поэтому всякий раз, когда нужно сохранить изображение, я могу вызвать метод ImageModel
Недостатки
- Если изображений продуктов много, а изображений пользователей меньше, запросы изображений пользователей станут медленными из-за огромного количества продуктов.
ВАРИАНТ 2. - Сохранение изображений разных типов в разных таблицах с полями id, title, url_full, url_thumb, status и timestamp
Преимущества
- Увеличение количества записей в одном разделе не повлияет на скорость запроса другого.
Недостатки
- Должен писать отдельные файлы модели / функции для каждого типа изображения.
- Каждый раз, когда изображение должно быть сохранено, необходимо указать тип.
Мой вопрос в том, какой подход лучше. Являются ли преимущества и недостатки реальной проблемой. Также, если есть какие-либо другие преимущества / недостатки, просьба перечислить. Или, если есть какие-либо другие проекты GoddB, пожалуйста, предложите.
Пожалуйста, ответьте, исходя из практического сценария, когда есть много продуктов и пользователей.