by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

2. 인덱스 칼럼 순서와 ORDER BY절 순서를 맞추자.




1. 부분범위 처리가 불가능한 예

1. WHERE조건 : A,B컬럼에 대한 조건이 있음.(둘 중 하나가 '=' 조회가 아님)
2. 인덱스 순서 : A,B,C,D순으로 된 결합 인덱스 존재(인덱스 컬럼 중 A,B 사용)
3. ORDER BY : C,D => 인덱스 컬럼 중 A,B는 제외한 나머지 컬럼으로 정렬
WHERE절 조건 컬럼인 A,B 둘 중 하나라도 EQUAL조회가 아닌 경우에는 부분범위 처리가 불가능
- 이유

데이터가 C,D 순으로 정렬 될 경우 인덱스 컬럼 중 선행 컬럼인 A나 B가 EQUAL조회가 아니라면, 인덱스를 이용한 정렬을 수행 할 수 없기 때문
즉, A와 B컬럼 모두 EQUAL조회를 했다면 ORDER BY절에 C,D컬럼만 있어도 인덱스의 정렬된 데이터를 사용 할 수 있을 것이다.
하지만 A,B 컬럼 중 A컬럼이 EQUAL 조회가 아니라면 ORDER BY절을 C,D에서 A,B,C,D로 변경해야만 부분범위 처리가 가능

2. 부분범위 처리가 가능한 예

1. WHERE조건 : A,B(둘 중 하나라도'='조회가 아닌 경우)
2. 인덱스 순서 : A,B,C,D => 인덱스 컬럼 중 A,B사용
3. ORDER BY : A,B,C,D => 인덱스 컬럼 중 모두 정렬

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.