私は70,000以上のトラックを持つ音楽テーブルを持っており、そこからプレイリストを照会したいと思っています。私は現在、 'AND track.id IN(プレイリストからIDを選んでください:pid = 5)'ステートメントを持つクエリを実行しています。副選択以外の行を引き出すより速い方法がありますか?大きなテーブルから小さな選択をクエリする最速の方法は?
2
A
答えて
1
私は愛好者だけで、完全に独学であるため、既に上記の人が何を言っているのかを繰り返すと、許してください。
しかし私には、サブセレクトの使用はDbの余分な仕事のように思えます。音楽テーブル(tblMusic、PK_SongID)、プレイリストテーブル(tblPlaylist PK_PLaylistID)、およびそれらを相互に索引付けする参照テーブル(tblPlaylist_tblMusic FK_tblPLaylist.PLaylistID、FK_tblMusic.SongID)があるように見えます。この表は、本質的にプレイリストと曲の間の多対多のインデックス関係になります。次に、3つのテーブル間でINNER JOINを実行し、SELECT CriteriaをPlaylistIDに設定します。
これはpstが上で説明したものだと思っていますが、私は間違っている可能性があります。 。 。
関連する問題
- 1. テーブルの列スコアから最小値と最大値を選択する方法は?
- 2. 巨大なテキストを小さな塊に分割する最速の方法
- 3. 大きなテーブルで参照される小さなテーブルからの削除
- 4. 選択ソート - 最小/最大のインデックス
- 5. 大きなテキストの巨大なリストを検索する最速の方法
- 6. SQL Server 2008 R2から大きなデータを選択する方法は?
- 7. 大きなテーブルを持つMysql:このクエリを最適化する方法?
- 8. 大きなファイルをPythonで保存する最速の方法
- 9. Pythonで大きなファイルを処理する最速の方法
- 10. ソートされた配列最大と最小のオブジェクトを選択
- 11. の最適化SQLクエリ、大きなテーブル - クエリは、サーバー
- 12. Android 2.2:大きなファイルからバイナリデータの小さなブロックを読み取る最も良い方法は?
- 13. 1つの大きなクエリと多くの小さなクエリ
- 14. 大きなデータからすばやくクエリする方法は?
- 15. 大規模なテーブル(75M +行)のシンプルなmysqlの選択を最適化する
- 16. 小さなサーバーを書くための最も速い方法
- 17. 異なる平面から最大を選択
- 18. 百万行のテーブルからクエリを選択して最適化
- 19. 大きなテキストファイル(数GB)を読むPythonの最速の方法
- 20. 最も速いクエリ応答のために複数のテーブル構造を選択する方法
- 21. Oracleのテーブルから最大のIDを選択する私は、クエリを持って、null値に
- 22. ColdFusionのcfdirectoryクエリからランダムなファイルを選択する方法は?
- 23. MySQLで大きなテーブルを最適化する方法
- 24. 小さな問題から1つ大きいクエリを作成する問題
- 25. iPhoneアプリで小さな画像選択を提供する最良の方法は何ですか?
- 26. オラクルの巨大なテーブルから小さなデータを削除する方法を提案
- 27. 最小と最大の選択で車の価格を照会
- 28. 巨大なmysqlクエリをキャッシュする最良の方法は?
- 29. 異なる(大きな)データソースから類似のレコードを見つける最速の方法
- 30. 1つの大きなテーブルまたは多数の小さなテーブル
M-M関係テーブルから「通常の」結合シーケンスを使用する可能性があります。これは、「基本的な」リレーショナル代数モデルでうまく適合するように使用する*最初のアプローチです。正しいインデックス設定では、合理的な量のデータ(少なくとも70k曲以上)について、素朴な分割(通常はハッシュ結合またはそれに匹敵)する必要があります。リレーショナルSQLデータベースは、このようなことのために*設計されています。疑問がある場合は、実際のクエリの実行計画(mysqlがそのsubselectをどのように変換するかはわかりません)と実行タイミングを確認してください。 'EXPLAIN'を参照してください。 –
"大きなテーブルからの小さな選択"は "インデックス"を叫びます。今は遅すぎますか? – Thilo
テーブルのインデックスが作成されています。 – Jason