색인 및 통계를 갱신했습니다.실제 실행 계획 조회 추적 결과와 VERY가 다릅니다.
쿼리는 WHERE 절에 하위 쿼리를 사용하여 간단합니다.
SELECT TOP 1 * from MeetingPost_reg
WHERE userid = 1234 AND meetingpost_regid <> 9999
AND DateStart < (SELECT DateStart FROM MeetingPost_reg WHERE meetingpost_regid = 9999)
ORDER BY DateStart desc
datastart, userid에 대한 색인이 있습니다. meetingpost_regid는 클러스터 된 인덱스가있는 PK입니다.
SHOWPLAN_TEXT :
StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|--Compute Scalar(DEFINE:([MeetingPost_reg].[message]=[MeetingPost_reg].[message], [MeetingPost_reg].[ProcessedComment]=[MeetingPost_reg].[ProcessedComment], [MeetingPost_reg].[ProcessedMsg]=[MeetingPost_reg].[ProcessedMsg], [MeetingPost_reg].[pos_discou
|--Top(1)
|--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([dbo].[MeetingPost_reg]))
|--Nested Loops(Inner Join, OUTER REFERENCES:([MeetingPost_reg].[datestart]))
|--Clustered Index Seek(OBJECT:([dbo].[MeetingPost_reg].[PK_MeetingPost_reg]), SEEK:([MeetingPost_reg].[meetingpost_regid]=9999) ORDERED FORWARD)
|--Index Seek(OBJECT:([dbo].[MeetingPost_reg].[MeetingPost_reg12]), SEEK:([MeetingPost_reg].[datestart] < [MeetingPost_reg].[datestart]), WHERE:([MeetingPost_reg].[meetingpost_regid]<>9999 AND Convert([MeetingPost_reg
(6 row(s) affected)
실행 계획 :가
실행 계획도 인덱스가 0 행으로 탐색 도시하고, 클러스터 된 인덱스의 총 비용, 1 행과 탐색 ~ .0006, 전체 CPU 비용 ~ .002
추적의 지속 시간은 250, CPU 172는 11입니다. 추적 이벤트 클래스는 SQL : Stmt입니다. 완료 됨
왜이 쿼리는 CPU를 많이 사용합니까?
예 Profiler에서 실행되는 것과 완전히 동일한 실행입니다. 질의가 생체 내에서 비슷하게 무거워서 계획의 비용이라고 생각하지 않습니다. – willoller