明示的vs.暗黙のsqlインナー結合:パフォーマンスディープダイブ
SQLには、複数のテーブルのデータを結合する2つの方法があります:明示的および暗黙的な結合。 どちらも同じ結果を達成しますが、パフォーマンスは異なりますか?調査しましょう。
明示的な結合:明確さと精度
明示的な結合INNER JOIN
キーワードを使用して、結合条件を明確に定義します。
<code class="language-sql">SELECT * FROM table_a INNER JOIN table_b ON table_a.id = table_b.id;</code>
よりコンパクトなものの、このスタイルは、特に複雑なクエリではそれほど明確ではありません。
WHERE
<code class="language-sql">SELECT table_a.*, table_b.* FROM table_a, table_b WHERE table_a.id = table_b.id;</code>
実際には、少なくともSQL Serverのコンテキスト内では、明示的な内部結合と暗黙的な内部結合のパフォーマンスの違いは無視できます。 どちらの方法も、通常、同等の効率で実行されます。
重要な注意:非推奨構文
を使用してまたはを使用して暗黙の
またはを使用していることを覚えておくことが重要です。 ただし、上記のように、コンマ分離された暗黙的(クロス)結合構文は有効なままです。 一般的に、露骨な結合を選択することは、コードの明確さと将来の互換性を改善するために推奨されます。OUTER JOIN
以上が明示的 SQL 内部結合と暗黙的 SQL 内部結合: パフォーマンスに違いはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。