Я создаю сайт, где есть различные типы элементов, такие как блоги, сообщения, статьи и т.д. Пользователь может установить любой из них в качестве своего любимого. Теперь, когда я подхожу к этой вещи, у меня есть две опции
- Создайте таблицу для избранных пользователей для каждого типа объектов.
- Создайте общую таблицу для всех типов объектов для всех пользователей.
Проблема с 1-й структурой заключается в том, что мне придется запрашивать множество таблиц для отображения избранных данных определенного пользователя. Но это позволит мне легко группировать фаворитов в разные категории.
Однако, если мне нужно показать все избранные на одной странице и объединить их все, отсортированные по времени, то это становится трудным. Но если я использую вторую модель, я могу легко получить последние избранные, а также группировать их в соответствии с типом объекта, это не сложно, но у меня будет один большой сайт в целом.
Какая из двух стратегий будет более масштабируемой.
Первый содержит несколько запросов к базе данных, а второй - влечет за собой большую отдельную таблицу.
Если это помогает, я использую MySql