Observation: Correlated Subquery uses EXISTS or NOT EXISTS(監視レポート:相関副照会がEXISTSまたはNOT EXISTSを使用する)

EXISTSまたはNOT EXISTS述部を使用して、副照会をコーディングしました。副照会が相関副照会の場合、Db2オプティマイザーは使用可能な索引を介してアクセスしません。

以下の例には、EXISTSを使った相関副照会が含まれています。

SELECT * A.empno, A.lastname, A.firstname 
FROM T1 A 
WHERE EXISTS 
(SELECT * FROM T2 B 
WHERE B.empno = A.empno); 

相関副照会をJOINとしてコーディングし直し、索引付けされた列を参照するようにします。

SELECT A.empno, A.lastname, A.firstname FROM T1 A, T2 B 
WHERE A.empno = B.empno;