私はcorrelated subqueriesと参加することができます知っています。しかし、どちらが速いのですか?黄金のルールはありますか、それとも両方を測定する必要がありますか?どちらが速いか:相関サブクエリまたは結合?
9
A
答えて
16
まず、相関サブクエリは実際には結合のタイプです。最高の実行計画を生み出すための黄金のルールはありません。パフォーマンスに関心がある場合は、さまざまなフォームを試して、効果的なものを確認する必要があります。または、少なくとも、その決定を下すための計画を見てください。
一般に、相関サブクエリはいくつかの理由で避けがちです。第一に、それらはほとんど常に相関なしで書くことができます。第2に、多くのクエリエンジンが(インデックスを使用していても)ネストループ結合に変換し、他の結合方法が優れている可能性があります。このような場合、相関サブクエリはクエリを並列化することを困難にします。第3に、相関サブクエリは通常、SELECT節またはWHERE節のいずれかにあります。私はすべてのテーブルがFROM節にあるのが好きです。
しかし、相関サブクエリは多くの場合、効率的なクエリの実行方法です。これは、特にIN
句でサブクエリを使用する場合に当てはまります。だから、黄金のルールはありません。
関連する問題
- 1. どちらが速いですか:連合または連合?
- 2. mysql:相関サブクエリおよび/または左結合
- 3. サブクエリ対結合とどこが速いのですか?
- 4. サブクエリの高速結合
- 5. 結合相関を含むサブクエリを使用したDB2更新
- 6. 相関サブクエリが
- 7. 相関サブクエリが機能しない場合のサブクエリの縮退
- 8. Oracle相関サブクエリ結合でエイリアスを使用する方法は?
- 9. サブクエリまたはOUTER結合
- 10. 不良(相関)または良好(相関なし)サブクエリ?
- 11. 左の結合内で相関サブクエリを使用する
- 12. Oracleでの低速クエリ(SQL Serverで高速実行)(相関サブクエリ)
- 13. どちらが速いですか?
- 14. どちらが速いですか
- 15. このクエリには、相関または非相関サブクエリが含まれていますか?
- 16. SQL - 相関サブクエリ
- 17. mysql - "INNER JOIN"または "IN"。どちらが速いの?
- 18. データベースまたはメモリからのクエリですか?どちらが速いの?
- 19. unordered_map:find()またはcount()のどちらが高速ですか?
- 20. どちらが高速で、key_cacheまたはOSキャッシュですか?
- 21. クエリまたはサブクエリを結合する
- 22. 相関サブクエリ - 指導
- 23. 相関サブクエリ、最大
- 24. MySQLサブクエリ/相関クエリ
- 25. ページ分割された結果セット内の選択サブクエリまたは左外部結合が速くなる
- 26. サブクエリの現在の結果を使用しているMySQL。相関サブクエリ?
- 27. どちらが速いですか?ストアドプロシージャの挿入またはダイレクト後のトリガー
- 28. どちらが速いですか? ORDER BY TimestampまたはWHERE Timestamp =
- 29. どちらが高い解像度ですか? GPSまたは加速度計?
- 30. どちらが速いですか? IBActionまたはプログラムによる?
クエリに基づいて測定する必要があります。データ、サイズ、スキーマによって異なります。つまり、黄金のルールはありません。 – Cfreak
@Cfreak - 答えとして追加してください - 正しいですから。 – RQDQ