リファレンスガイド> TDVクエリエンジンオプション> JOINオプション> SEMIJOIN(JOINオプション)
 
SEMIJOIN(JOINオプション)
SEMIJOINにより、オプティマイザーはセミジョイン最適化を実行しようとします。 SEMIJOINが指定されていない場合、オプティマイザーはセミジョイン最適化を適用するかどうかを決定します。
注:セミジョインは情報統合ツールです。これは、右側(RHS)から取得される行の数を減らす高速アルゴリズムです。 2番目のデータソースにプッシュされたFETCHを書き換えます。このために、左側の最初のクエリ(LHS)から返された一意の値によって提供される選択基準を使用します。セミジョインでは、LHSが評価されてメモリ内のテーブルにロードされ、そのカーディナリティが評価されます。カーディナリティが十分に小さい場合は、LHSからの結合基準のすべての値を含むIN句またはOR式が作成されます。次に、句または式がRHSのWHERE句に追加され、データベースにプッシュされます。このようにして、一致する行のみがRHSから取得されます。
セミジョインは、IN句またはOR式をサポートするデータソースに対してフェッチする単一ノードとしてRHSを照会できる場合にのみ試行できます。
演算子
JOIN
構文
semijoin
SELECT column1 FROM table1 INNER {OPTION semijoin} JOIN table2 ON table1.id = table2.id