私は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. 最大値でMySQLテーブルから行を選択する方法
- 2. MySQL - 大きなテーブルからランダムな行を選択する
- 3. 最小と最大の範囲を選択する方法
- 4. テーブルの列スコアから最小値と最大値を選択する方法は?
- 5. クエリから最大値を選択 - LARAVEL
- 6. 巨大なテキストを小さな塊に分割する最速の方法
- 7. 最小最大選択 - チェックボックス
- 8. 小さなテーブルと大きなテーブルの間の結合を最適化する方法は?
- 9. SQL Serverのテーブルから複数の最大行を選択する方法
- 10. レジスタから最大と最小の日付を選択
- 11. 大きなテーブルで参照される小さなテーブルからの削除
- 12. MySQLのパフォーマンス - 大きなテーブルからの選択と削除
- 13. ネストされたクエリから最大値を選択
- 14. 選択ソート - 最小/最大のインデックス
- 15. 大きなテキストの巨大なリストを検索する最速の方法
- 16. Pythonで大きなファイルを処理する最速の方法
- 17. 大きなファイルをPythonで保存する最速の方法
- 18. 大きなリストを分割する最速の方法
- 19. 最大最小マルコフブランケットフィーチャ選択:Rコードエラー
- 20. SQL Server 2008 R2から大きなデータを選択する方法は?
- 21. 大きなテーブルを持つMysql:このクエリを最適化する方法?
- 22. ソートされた配列最大と最小のオブジェクトを選択
- 23. Javaでテキストサイズ設定を取得する方法(最小、最大、選択)
- 24. 異なるサイズの2つのテーブルから大きなテーブルを作成する最も簡単な方法
- 25. の最適化SQLクエリ、大きなテーブル - クエリは、サーバー
- 26. リストから大きな値を小さな値にソートする方法
- 27. Android 2.2:大きなファイルからバイナリデータの小さなブロックを読み取る最も良い方法は?
- 28. TeraDataテーブルから最小値と最大値を取得するクエリ
- 29. 1つの大きなクエリと多くの小さなクエリ
- 30. 大きなデータからすばやくクエリする方法は?
M-M関係テーブルから「通常の」結合シーケンスを使用する可能性があります。これは、「基本的な」リレーショナル代数モデルでうまく適合するように使用する*最初のアプローチです。正しいインデックス設定では、合理的な量のデータ(少なくとも70k曲以上)について、素朴な分割(通常はハッシュ結合またはそれに匹敵)する必要があります。リレーショナルSQLデータベースは、このようなことのために*設計されています。疑問がある場合は、実際のクエリの実行計画(mysqlがそのsubselectをどのように変換するかはわかりません)と実行タイミングを確認してください。 'EXPLAIN'を参照してください。 –
"大きなテーブルからの小さな選択"は "インデックス"を叫びます。今は遅すぎますか? – Thilo
テーブルのインデックスが作成されています。 – Jason