코드 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;


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