ホームページ >データベース >mysql チュートリアル >JOIN と WHERE: データベース クエリではどちらが高速ですか?
JOIN は WHERE よりも速いですか?
このシナリオでは、2 つのテーブル (Document と DocumentStats) がリンクされており、取得する必要があります。 500 を超えるビューを持つドキュメントの場合、WHERE または JOIN の 2 つのクエリ オプションがあります。両方のクエリは似ているように見えますが、その効率は使用するデータベース エンジンによって異なります。
WHERE 句を使用すると、クエリがより明示的になり、両方のテーブルの ID フィールドを比較する条件を指定して、一方、JOIN 句は、共通 ID に基づいて Document と DocumentStats の行をマージする一時テーブルを作成します。 field.
理論的には、両方のクエリはパフォーマンスに大きな違いがなく、同じ実行プランを生成するはずです。クエリ オプティマイザーは同等の構造を認識し、最適化されたパスを生成できる必要があります。ただし、実際には、一部のデータベース エンジンは、一方のフォームに対して他方のフォームに対して特定の最適化を行っている場合があります。複雑なクエリの場合、この違いはさらに顕著になります。
SQL Server では、特定のテーブルとデータ分散でどちらのクエリのパフォーマンスが優れているかを判断するために、両方のクエリをテストすることをお勧めします。簡素化のために WHERE 句が推奨される場合もありますが、基盤となるデータベース エンジンとクエリの複雑さによっては、JOIN 句を使用するとパフォーマンスが向上する場合があります。
以上がJOIN と WHERE: データベース クエリではどちらが高速ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。