반응형
순서 결정에 있어서 아래의 순서데로 우선순위를 매겨가며 첫번째 컬럼을 결정하도록 하자!!!


1. 항상 사용되는가?

  결합인덱스의 첫번째 컬럼을 조건에서 사용하지 앟으면 그 인덱스는 사용되지 않는다. 그러므로 항상 사용되는 컬럼을 결합인덱스의 첫번째에 넣도록 한다.

2. 항상 '=' 로 사용되는가?
  앞에 있는 컬럼이 '=' 조건으로 사용되지 않았다면 뒤에서 '='을 사용하더라고 처리범위가 줄어들지 않는다. 그러므로 첫번째 컬럼은 '=' 을 사용하여 처리범위를 줄여서 처리속도를 높일 수 있도록 하여야 한다.

3. 분포도가 좋은 컬럼인가?
  분포도가 좋은(좁은) 컬럼은 처리범위를 보다 빠르게 줄일 수 있으며 향후 예상치 않게 'LIKE, BETWEEN, <, >' 등의 조건 검색식이 사용된 경우 처리범위가 넓어지는 상황에 대비할 수도 있다.

4, 자주 사용되는 정렬 컬럼인가?
  쿼리시 어떤 컬럼들로 정렬이 발생하는가를 확인해보고 가능한 빈번하게 정렬되는 순서를 감안하여 우선순위의 컬럼으로 설정하는 것이 좋다. 왜냐하면 인덱스는 결합된 컬럼의 순서로 정렬되어 저장되기 때문이다.
반응형

+ Recent posts