ホームページ >データベース >mysql チュートリアル >明示的 SQL 結合と暗黙的 SQL 結合: パフォーマンスの違いは何ですか?
SQL クエリには、複数のテーブルの結合が含まれることがよくあります。 これは、明示的または暗黙的な結合構文を使用して実現できます。 どちらの方法でも共通の列に基づいてテーブルをリンクしますが、スタイルの違いによりパフォーマンスに関する疑問が生じることがあります。
明示的結合では、INNER JOIN
キーワードを使用して結合条件を明確に定義します。 逆に、暗黙的な結合ではカンマ (,
) を使用してテーブル名を区切るため、クエリが読みにくくなる可能性があります。
比較は次のとおりです:
明示的結合:
<code class="language-sql">SELECT * FROM table_a INNER JOIN table_b ON table_a.id = table_b.id;</code>
暗黙的結合:
<code class="language-sql">SELECT table_a.*, table_b.* FROM table_a, table_b WHERE table_a.id = table_b.id;</code>
SQL Server (および他の多くの最新データベース システム) では、明示的な INNER
結合と暗黙的な
OUTER
暗黙的な *=
結合構文 (カンマ区切りのテーブル リストを含む =*
句で WHERE
または (CROSS)
を使用する) は時代遅れであり、SQL Server 2005 以降では非推奨であることを覚えておくことが重要です。 ただし、上記の例に示すように、コンマを使用した暗黙的な
明示的結合と暗黙的結合の決定は、多くの場合、コーディング スタイルと読みやすさによって決まります。明示的結合は明確さと保守性を向上させますが、暗黙的結合はよりコンパクトに見える場合があります。 最適な選択は、個々の開発者の好みとプロジェクトのコーディング標準によって異なります。
以上が明示的 SQL 結合と暗黙的 SQL 結合: パフォーマンスの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。