더북(TheBook)

코드 2-23과 같이 동일한 컬럼에 필터링된 인덱스를 여러 개 생성할 수 있다.

코드 2-23 동일 컬럼에 필터링된 인덱스를 여러 개 생성

CREATE NONCLUSTERED INDEX PendPubDocuments

  ON DocumentStatus (DocumentNumber, Status)

  WHERE Status = ‘Pending publication’;

CREATE NONCLUSTERED INDEX PendExpDocuments

  ON DocumentStatus (DocumentNumber, Status)

  WHERE Status = ‘Pending expiration’;


 

‘BETTER WAY 12. 인덱스를 단순 필터링 이상의 목적으로 사용하자’에서 ORDER BY 절을 만족시켜야 하는 정렬 연산을 회피하는 데 인덱스를 사용할 수 있다고 했다. 필터링된 인덱스를 사용하면 이 개념을 더 확장할 수 있다.
코드 2-24의 쿼리에 코드 2-25의 인덱스를 사용하면 정렬 연산을 피할 수 있다.

코드 2-24 정렬 연산이 필요한 쿼리

SELECT ProductNumber, ProductName

FROM Products

WHERE CategoryID IN (1, 5, 9)

ORDER BY ProductName;


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.