ネステッド ループ ジョインと内部ジョインの違いは、動作\疑似コードと、内部ジョインの代わりにネスト ループ ジョインを使用することを提案するポイントです。
1 に答える
「代わりに」ではありません-論理 INNER JOIN
は複数の物理的な方法で処理できます-ネストされたループ、ハッシュ一致、またはマージ。4 番目のタイプ、アダプティブ ジョインもありますが、これは一種の不正行為です...実際には、ネストされたループとハッシュ マッチの間の選択を延期しているだけです。
通常、ネストされたループ結合は、結合の片側が比較的小さい場合に選択されます。Customers
テーブルをテーブルに結合することを考えてみてください。Orders
理想的には、顧客が多数の注文を出しているため、ネストされたループ結合が (概念的に) 機能する方法は、不均衡が十分に高い場合、最初の顧客から開始することです。実際には、オプティマイザーは計画のコンパイル時に、どの物理操作が最も理にかなっているかを決定します。これは、次のようなさまざまな要因に基づいて行われます。 2 つのテーブルのカーディナリティ、統計、ハードウェア リソースなど。
(マージ結合はジッパーのように機能し、ハッシュ結合はバケットのセットのように機能することを簡単に述べます。ただし、これらの詳細については、他の場所で読むことができます。)
次回は、これらの概念を検索し、実装に実際に問題がある場合や、特定のケースで特定の結合方法が選択された理由を理解する上で実際に問題がある場合は、プログラミングのヘルプを求めてください。これは図書館ではありません。:-)