쿼리 계획에 따라 Sqlserver 2005 쿼리를 최적화하십시오.쿼리 계획을보고 쿼리를 최적화하십시오.
72 개 레코드를 가져 오는 데 1.7 초 걸리는 다음 쿼리를 사용할 수있는 경우 더 많은 시간이 소요될 수 있습니다. 내가 비용이 많이 드는 작업을 발견
내가 실행 쿼리 계획이다 "ReviewCompleteFlag = 0 AND ReviewItemDeleteFlag = 0 AND ActivationDateTime"B/C 비 그들을 인덱스를 갖는
ReviewCompleteFlag value can be 0 or 1
ReviewItemDeleteFlag values can be 0 or 1
itemid is foreign key
내가이 쿼리를 최적화 할 수있는 방법이 무엇입니까? ReviewCompleteFlag 또는 ReviewItemDeleteFlag도 인덱스가 도움이 될 것이라는 논리 값으로
SELECT
TOP 200000
ItemId
FROM
ItemReview (nolock)
WHERE ReviewCompleteFlag =0 AND ReviewItemDeleteFlag = 0 AND ActivationDateTime is null
ORDER BY ReviewPriority DESC
'(항목 Id)'해당 쿼리에 대한 최적의 인덱스 것 INCLUDE ItemReview (ReviewCompleteFlag, ReviewItemDeleteFlag, ActivationDateTime, ReviewPriority)에 클러스터되지 않은 인덱스의 IX를 생성되는지 여부를가한다. 우리가 말할 수없는 전반적인 작업 부하에 최적. –
@Martin은 'bit' 열을 선행 열로 사용하는 것이 유용할까요? –
@Aaro nBertrand -이 단일 쿼리에 대해 우리는 3 대 평등 조건에 대해 그것에 대해 말했지만 아무런 해가 없습니다. 'ActivationDateTime'을 앞세워 다른 쿼리에 도움이 될 수 있습니다. –