Пожалуйста, проигнорируйте этот вопрос, если он звучит глупо для вас.
У меня есть таблица SQL (SQL Server) для фотоальбомов, в ней более 20 столбцов, и она будет содержать миллионы альбомов.
Мне нужно обозначать некоторые альбомы как продвигаемые, а некоторые как избранные каждую неделю.Мне также нужен очень эффективный способ получения этих альбомов (страница за страницей), когда я показываю их пользователям.
Как мне их оформить?
вариант 1: Я могу создать другую таблицу просто для хранения идентификаторов продвигаемых и показанных альбомов, подобных этому, и затем присоединиться к основной таблице альбомов, чтобы получить набор нужных мне столбцов.
таблица обозначенных_альбомов:
album_id promoted_featured
1 1
5 0
7 1
15 0
Запрос для продвинутых вернет 1, 7 Запрос для избранных вернет 5, 15
Опция 2: Я могу добавить 1 хранилище столбцов 1, если будет повышени 0, если указано.В противном случае это будет пустым, я могу запросить, чтобы проверить 1 в этом столбце для продвигаемых альбомов и 0 для избранных.
Опция 3: Я могу добавить 2-битные столбцы: один для повышенных (0/ 1) и один для избранных (0/1)
Какой способ будет работать лучше?
РЕДАКТИРОВАТЬ: проект должен быть эффективным и в SQL 2008.Прямо сейчас у меня есть SQL 2005.