ホームページ > データベース > mysql チュートリアル > JOIN と WHERE: 外部キー関係を含むデータベース クエリではどちらが高速ですか?

JOIN と WHERE: 外部キー関係を含むデータベース クエリではどちらが高速ですか?

Barbara Streisand
リリース: 2024-12-31 13:36:11
オリジナル
927 人が閲覧しました

JOIN vs. WHERE: Which is Faster for Database Queries with Foreign Key Relationships?

JOIN と WHERE: データベース クエリはどちらが速いですか?

データベース クエリの世界では、速度が非常に重要です。 Document と DocumentStats など、外部キーによって 2 つのテーブルがリンクされている場合、JOIN 句と WHERE 句のどちらを使用した方がデータの取得が速いか疑問に思うかもしれません。

質問:

次のクエリを考えてみましょう:

SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
  AND DocumentStats.NbViews > 500
ログイン後にコピー

INNER JOIN を使用した代替クエリは:

SELECT *
FROM Document
INNER JOIN DocumentStats ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500
ログイン後にコピー

どちらのクエリがより速く実行されますか? それとも同等ですか?

答え:

理論的には、両方のクエリは次のように同等に高速に実行されるはずです。クエリ オプティマイザーは実行計画を最適化します。ただし、実際には、データベース エンジンは、特により複雑な操作の場合、どちらかのクエリに対してより良い実行プランを生成する可能性があります。

つまり、データベース エンジンで両方のクエリをテストして、どちらのパフォーマンスが優れているかを判断するのが最善です。 。ただし、一般に、単純なクエリでは同等の速度が期待できます。

以上がJOIN と WHERE: 外部キー関係を含むデータベース クエリではどちらが高速ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート