더북(TheBook)

인덱스를 만들 때는 컬럼의 조합도 중요하다. 대부분의 쿼리에서 특정 컬럼들이 함께 사용된다면 인덱스에 컬럼들을 모두 포함해야 한다. 이들 컬럼에 대해 개별적으로 인덱스를 만든다고 해서 효율적으로 실행 계획을 세울 수 있다고 장담할 수 없다. 여러 컬럼으로 인덱스를 만들 때는 컬럼을 지정하는 순서가 중요하다. 일부 쿼리는 CustLastName 컬럼의 특정 값을 찾고 다른 쿼리는 CustFirstNameCustLastName의 특정 값을 찾는다면, 인덱스는 CustLastName, CustFirstName 순으로 만들어야 하고(코드 2-9) 그 반대로(코드 2-10) 만들면 안 된다.

코드 2-9 SQL을 이용한 적절한 인덱스 생성

CREATE INDEX CustName

  ON Customers (CustLastName, CustFirstName);


 

코드 2-10 SQL을 이용한 적절하지 않은 인덱스 생성

CREATE INDEX CustName

  ON Customers (CustFirstName, CustLastName);


 

핵심 정리

• 적절한 인덱스를 만들도록 데이터를 분석해 성능을 향상한다.

• 생성한 인덱스가 실제로 잘 사용되는지 확인한다.

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