0

ネストされたループ結合

この種の結合操作では、外部入力からの各行を処理し、内部入力のすべての行をループ処理して、結合列に基づいて一致する行を検索します。

ネストされたループ結合は、通常はインデックスを使用して、外部テーブルの各行に対して内部テーブルで検索を実行します。例:

Select T1.Col2
From Table1 T1
Inner Join Table2 T2 ON T1.Col1 = T2.Col1 AND T1.Col1 between 1 AND 36

外部入力と内部入力とは何か教えてください。ここでは、次の 2 つの条件があります。T1.Col1 = T2.Col1 AND T1.Col1 between 1 AND 36 table is first filtered by which condition

4

2 に答える 2

0

この方法でクエリを書きたいと思います。

    SELECT T1.Col2
      FROM Table1 T1
INNER JOIN Table2 T2 ON T1.Col1 = T2.Col1 
     WHERE T1.Col1 BETWEEN 1 AND 36

2 番目の条件は結合条件ではなく、where 条件です (表 2 はその条件の解決には関与しません)。

データベースのオプティマイザは、最初に Table1 をフィルタリングする方が Table2 に結合してからフィルタリングするよりも速いかどうかを判断できるはずです。Table2 が非常に小さい場合は、後者が当てはまると思います。また、インデックスはクエリ プランを変更できます。

とにかく、データベースがクエリをどのように実行しているかを確認したい場合は、クエリプランを確認してください。

于 2013-10-23T07:03:26.713 に答える