私は自分自身をかなり漬け込んでいることに気づきました。多かれ少なかれvarchar(25)である1つの列(抑制リストまたは包含リスト)のみのテーブルがありますが、メインクエリで使用する前にインデックスを作成する時間がないため、重要性によっては、各テーブルにいくつの行があるのかわかりません。これらすべての中心となるベーステーブルは、約140万行と約50列です。
私の仮定は次のとおりです。
INは、値が連続して表示されるため、多くの値(行)が返される場合には使用しないでください。(サブクエリのINは値を直接渡さなかった)
結合(包含の場合はINNER、抑制の場合はLEFTおよびNullのチェック)は、大量のデータセット(1,000行以上のデータセット)に最適です。
EXISTSは、すべての行に対してサブクエリを実行しているように見えるため、常に私を心配してきました(すべて140万?Yikes)。
私の直感によると、可能であれば、抑制テーブルの数を取得し、IN(1,000行未満の場合)およびINNER / LEFT結合(1,000行を超える抑制テーブルの場合)のいずれかを使用します。注、抑制するフィールドは、大きなベーステーブルですが、抑制テーブルはそうではありません。考え?
すべてのコメントおよび/またはアドバイスを事前に感謝します。