위로 가기 100 초로 aprox 2 초를 수행하는 쿼리를 만들었습니다.이 정확한 쿼리의 저장 프로 시저를 만들면 실행하는 데 12-13 초가 걸립니다.쿼리가 저장 프로 시저보다 훨씬 느립니다?
왜 그런가요?
- 요소 나타난 횟수 = 2,309,015는 (사용자 ID로 지정한 = 326,969)
- 일치 나타난 횟수 = 1,290 (사용자 ID로 지정한 = 498)
- 사이트에 나타난 카운트 = 71 (사용자 ID로 지정한 = 9)
코드
with search (elementid, siteid, title, description, site, link, addeddate)
as
(
select top(@top)
elementid,
elements.siteid, title, elements.description,
site =
case sites.description
when '' then sites.name
when null then sites.name
else sites.name + ' (' + sites.description + ')'
end,
elements.link,
elements.addeddate
from elements
left join sites on elements.siteid = sites.siteid
where title like @search and sites.userid = @userid
order by addeddate desc
)
select search.*, isnull(matches.elementid,0) as ismatch
from search
left join matches on matches.elementid = search.elementid
는 쿼리 실행 계획을 보았다 된 문제가 있습니다? –
"aprox를 2 초 동안 수행하는 쿼리를 만들었습니다.이 정확한 쿼리의 저장 프로 시저를 만들면 실행하는 데 12-13 초가 걸립니다."다음은 저장 프로 시저가 쿼리보다 훨씬 느립니다. –
@HamletHakobyan 나는 이해하지 못한다. sp는 느리다. 예. (지금 실행 계획을 점검한다.) –