从大表中查询小选择的最快方法?

时间:2011-01-12 06:38:34

标签: mysql database

我有一个带有> 70,000首曲目的音乐表,并希望从中查询播放列表。我目前正在运行一个查询,其中包含'AND track.id IN(从播放列表中选择id,其中pid = 5)'语句。除了子选择之外,是否有更快的方法将行拉出来?

1 个答案:

答案 0 :(得分:1)

我只是一个爱好者,而且完全是自学成才,所以如果我重复上面已经说过的话,请原谅。

但是,对我而言,使用Sub-Select似乎是Db的额外工作,而且可扩展性较差。似乎应该有一个Music表(tblMusic,PK_SongID),一个播放列表表(tblPlaylist PK_PLaylistID),以及一个将它们索引到彼此的参考表(tblPlaylist_tblMusic FK_tblPLaylist.PLaylistID,FK_tblMusic.SongID)。该表基本上是播放列表和歌曲之间的多对多索引关系。然后,您只需在三个表之间执行INNER JOIN,并将SELECT Criteria设置为PlaylistID。

我怀疑这是pst在上面所描述的,但我可能是错的。 。