我試圖優化以下查詢。正在使用的兩個子查詢可以使它成爲單個查詢。如何優化以下查詢
select fn.id,
(select top 1 s.rid from find f join status s on f.fid = s.fid
where f.fid = fn.id and f.active = 1) as rid,
(select top 1 f.gid from find f
where f.fid = fn.id and f.active = 1) as gid
from finding fn where f.tid = 'abcd'
我已經使用CWE,因爲它被執行一遍又一遍每次迭代的,但我想在這裏問一些DBA專家,有什麼事情是可能的和最佳的解決方案進行優化,下面的查詢加入子查詢。任何幫助是極大的讚賞。
如果OP在'ID'列有索引,我認爲它會掃描每個'ID'的所有記錄以生成'Row_number' –