Дизайн базы данных: несколько таблиц против одной таблицы

Я создаю веб-сайт, на котором есть разные типы элементов, такие как блоги, сообщения, статьи и так далее. Пользователь может сделать любой из них своим любимым. Теперь, когда я подхожу к этой штуке, у меня есть две возможности

  1. Создать таблицу для избранного пользователя для каждого типа объекта.
  2. Составьте общую таблицу для всех типов объектов для всех пользователей.

Проблема с 1-й структурой заключается в том, что мне придется запрашивать множество таблиц для отображения избранного конкретного пользователя. Но это позволит мне легко сгруппировать избранное по разным категориям.

Однако, если мне нужно показать все избранные на одной странице и объединить их все, отсортированные по времени, это станет трудным. Но если я использую вторую модель, я могу легко получить последние избранные, а также сгруппировать их по типу объекта не сложно, но у меня будет одна большая таблица шириной.

Какая из двух стратегий будет более масштабируемой.

Первый влечет за собой несколько запросов к базе данных, а второй влечет за собой большой единый стол.

Если это поможет, я использую MySql

12
задан Sachin 26 January 2012 в 16:47
поделиться