2013-03-12 2 views
0

쿼리 계획에 따라 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 
+2

'(항목 Id)'해당 쿼리에 대한 최적의 인덱스 것 INCLUDE ItemReview (ReviewCompleteFlag, ReviewItemDeleteFlag, ActivationDateTime, ReviewPriority)에 클러스터되지 않은 인덱스의 IX를 생성되는지 여부를가한다. 우리가 말할 수없는 전반적인 작업 부하에 최적. –

+0

@Martin은 'bit' 열을 선행 열로 사용하는 것이 유용할까요? –

+0

@Aaro nBertrand -이 단일 쿼리에 대해 우리는 3 대 평등 조건에 대해 그것에 대해 말했지만 아무런 해가 없습니다. 'ActivationDateTime'을 앞세워 다른 쿼리에 도움이 될 수 있습니다. –

답변

2

((int)로 정의 된 경우에도이 상태가 두 값이) 나는 의심한다. 인덱스는 일반적으로 유용한 데이터의 다양성을 요구합니다.

ActivationDateTime 및 ReviewPriority에서 색인을 사용하는 것이 좋습니다.

일단 ActivationDateTime에 대한 인덱스를 얻으면 파생 테이블이 더 빠를 수도 있습니다. (최소한 다음 인덱스 세트를 사용하여 색인화되지 않은 불린을 적용하면 효과가있을 수 있습니다. 당신의 DATBASE 설정 및 adatabase)로 측정하는 것은 :

SELECT 
    TOP 200000 
ItemId 
FROM 
    (SELECT ItemID, ReviewCompleteFlag, ReviewItemDeleteFlag, ReviewPriority 
    FROM ItemReview 
    WHERE ActivationDateTime is null) IR WITH (nolock) 
WHERE ReviewCompleteFlag =0 AND ReviewItemDeleteFlag = 0  ORDER BY ReviewPriority DESC 
+0

'(nolock)'앞에'WITH'를 추가하거나 파생 테이블 안에 힌트를 옮겨야합니다. 현재 SQL Server는 이것이 열 정의라고 생각합니다. 또한 유도 된 테이블은'ActivationDateTime'을 노출시키지 않으므로 외부'WHERE'에서 언급되어서는 안됩니다. –

+0

내 역할이 엉망입니다. – HLGEM

+0

는 SELECT 시도 TOP 200,000 FROM 항목 Id (선택 항목 ID, ReviewCompleteFlag, ItemReview FROM ReviewItemDeleteFlag, ReviewPriority (NOLOCK) ActivationDateTime가 null ) ReviewCompleteFlag = 0 ReviewItemDeleteFlag = 0 ActivationDateTime가 순서 ReviewPriority DESC BY 널 –

관련 문제