Я пытался оптимизировать следующий запрос. Два подзапроса, которые используются, могут сделать его одним запросом.Как оптимизировать следующий запрос
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'
Я использовал КВО для присоединиться к подзапрос, поскольку он запускается на выполнение снова и снова для каждой итерации, но я хочу спросить некоторых экспертов DBA здесь, что может быть возможным и оптимальным решением для следующего запроса будет оптимизирован. Любая помощь приветствуется.
В случае, если OP имеет индекс в столбце «ID», все же я думаю, что он будет сканировать все записи для каждого 'ID' для генерации' Row_number' –