Самый быстрый способ запросить небольшой выбор из большой таблицы? - PullRequest
2 голосов
/ 12 января 2011

У меня есть музыкальный стол с> 70000 треков, и я хочу запросить плейлист из этого списка.В настоящее время я выполняю запрос с оператором AND track.id IN (выберите id из списка воспроизведения, где pid = 5).Есть ли более быстрый способ вытащить строки, кроме подвыбора?

1 Ответ

1 голос
/ 23 января 2011

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

Однако мне кажется, что использование Sub-Select выглядит как дополнительная работа для Db и менее масштабируемое. Похоже, должна быть таблица Music (tblMusic, PK_SongID), таблица списков воспроизведения (tblPlaylist PK_PLaylistID) и справочная таблица, индексирующая их как eachother (tblPlaylist_tblMusic FK_tblPLaylist.PLaylistID, FK_tblMusic.Song Эта таблица, по сути, будет индексным отношением «многие ко многим» между плейлистами и песнями. Затем вы просто выполните ВНУТРЕННЕЕ СОЕДИНЕНИЕ между тремя таблицами и установите для критериев SELECT значение PlaylistID.

Я подозреваю, что это было то, что pst описывал выше, но я могу ошибаться. , .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...