|
|
 |
|
|
 |
| |
 |
ㆍ Home > 고객센터 > FAQ고객센터 |
|
|
|
|
|
|
|
|
 |
|
 |
제 목 |
 |
조회수 |
 |
| 4 | | | 입금문의를 상품문의로 변경합니다. | | 50 | | | | | 인덱스 머지를 피하기 위해 조건순위에 따른 취사선택, 힌트, 통계정보, 옵티마이저 모드 등에 따라
원칙을 준수했음에도 인덱스를 사용하지 않는 경우가 발생할 수 있다.
우리나라 만만세 | | 3 | | | 순위(ranking) 차이 | | 28 | | | | | col1 = ‘1’ and col2 like ‘a%’ (col1, col2 각각 index) 인 경우에 rule based 옵티마이저에서는
= 이 like 보다 순위가 높으므로(= 로 비교했을 때가 분포도가 더 좁다고 판단하기 때문. 똑똑한넘-_-)
col1 index만 사용하고 col2는 비교 조건으로 사용한다. 하지만 cost based 옵티마이저에서는
순위가 낮더라도 like의 분포도가 더 좋다면 col2 index를 사용한다.
col1 = ‘1’ and col2 = ‘a’ 인 경우 rule based 옵티마이저에서는 인덱스 머지가 일어난다.(두 컬럼의
순위가 동일하므로)
그렇다면... col1 like ‘1%’ and col2 like ‘a%’ 인 경우 rule based 옵티마이저에서는 나중에 생성된
인덱스를 사용하고(범위가 넓어진다고 생각되는 like, >, <, between 등의 비교 연산자와 같이 사용될
경우에는 두 가지 중 한가지만 사용하고 나머지는 포기한다), cost based 옵티마이저에서는 통계정보에 의해서 인덱스를 선택한다.
| | 2 | | | 배송관련 문의 입니다. | | 24 | | | | | null은 인덱스에 저장되지 않는다. 따라서 [index column] is not null 로 조건 절에 기술하는 것은
[index column] > ‘’ or [index column] > 0 과 같이 바꿔도 같은 결과가 나오며, full scan하던 것을
Index scan 하게 되므로 속도 향상도 꾀할 수 있다.
단, rule based 옵티마이저 모드이거나, cost based 옵티마이저 모드라면 first_rows로 설정되었을 때
가능하다. all_rows로 되어있다면 full scan을 하게 된다.
| | 1 | | | 1. 해당테이블의 모든 액세스 형태 수집 | | 4 | | | | - 반복 수행되는 액세스 형태 찾기
- 분포도가 양호한 컬럼들 액세스 유형 조사
- 자주 넓은 범위 조건이 부여되는 경우 찾기
- 조건에(WHERE절에..) 자주 사용되는 주요 컬럼의 액세스 유형 조사
- 자주 결합되어 사용되는 컬럼들의 조합 및 정렬 순서 조사. 결합인데스 선정 시에는 연결순서를
확실히 한다.(결합도[어떤 컬럼이 더 자주 결합되어 사용되는지..], 결합조건[ex. ‘=’, ‘LIKE’ ...],
정렬순서)
- 역순으로 추출되는 경우. 넓은 범위를 역순으로 보여주기 위해서는 집계테이블로도 무리인
경우가 있다. 이때에는 INDEX_DESC를 이용하여 처리하는 수밖에 없다.(부분범위처리)
- 일련번호를 부여하는 경우 찾기
- 통계자료추출을 위한 액세스 유형조사. 통계자료를 위해서는 넓은 범위처리가 불가피하다.
따라서 클러스터링이나 잘 조합된 결합인덱스로 해결해야 한다.
|
|
|
|
[1]  |
|
| |
|
|
|
|
|
|
|
|