あなたのクエリが、そのわずかサブクエリを相関されていません。..以下
相関サブクエリ..ですクエリ上記
UPDATE a
SET field1=0
FROM tableA a
WHERE exists (SELECT 1
FROM tableB b
WHERE a.somecol=b.somecol)
1相関サブクエリのより多くの例
select orderid,
(select custname from customers c where c.custid=o.custid) from orders o
することができます結合として書かれる
select orderid,custname
from orders o
join
customers c
on c.custid=o.custid
両方のクエリが同じ実行計画を使用する傾向があるとの両方が、我々が想定することはできませんwell..soと同じコストを持って実行する
、相関サブクエリは、上記のため
select orderid,
(select count(orderid) from orders o2 where o2.custid=o.custid)
from orders o
より良い相関を実行しませんサブクエリは、SQLは注文テーブルに一度だけアクセスすることはできませんし、すべての計算を行う、それはテーブルに2回アクセスする必要があります..これは、私は相関サブクエリで見ることができたちょっとです。
良い(相関しない)または悪い(サブクエリ) "! – jarlh
これは相関関係がありません。サブクエリです。 –
相関サブクエリには、メインクエリへの参照を含む条件が含まれています。 – jarlh