を最適化し、私は、以下のSQLクエリを最適化しようとしていたが、私は、SELECT句内のサブクエリで立ち往生しています。は、以下のSQLクエリ
select F.id,
(select top 1 RF1.gid from t_RemFinding RF1 where RF1.id = RF.id and RF1.active = 1) as GI
from t_Finding F
left join t_RemFinding RF on RF.id = F.id
where F.Gid = '1001'
select句でどのようにサブクラスを選択しているかは誰でも説明できますか?私は、外部クエリのすべての反復でサブクエリが実行されていると思います。そうですか?それを最適化することはできますか?もしそうなら、私を道に導くことができますか?同じテーブルには、選択サブクエリ内で使用して同じテーブルに一致している理由を
EDIT
tb_RemFindingはすでに左に使用されている場合感謝が参加します。どんな助けでも大歓迎です。クエリは他の開発者によって書かれており、私はそれを書き直そうとしています。あなたのサブクエリが実際に、再び実行されたすべての反復で
TOPですが、ORDER BYはありません。どうして?サブクエリをスキップし、代わりに左の結合を実行します。 – jarlh
実行計画が飢えています! –
@ jarlh古いコードだったので、注文なしで何をしたのか分からなかった。私はクエリが実際に何をしているのか混乱していました。テーブルはすでに左結合で結合されているので、左結合を行うにはどうすればいいですか? – user3205479