■ 개념
=> 인덱스를 구성하고 있는 컬럼에 대한 조건이 함수의 적용, 계산식 등의 이유에 의해 가공됨으로써 인덱스를 타지 못하는 상태
■ 원인
- 모델링 이상(데이터타입)
- 편의주의적인 코딩 습관
- 바인드 변수 타입 불일치
■ 해결방안
○ Expression
select ... from tab
where col1+10 > 100;
↓
select ... from tab
where col1 > 100-10;
where col1+10 > 100;
↓
select ... from tab
where col1 > 100-10;
○ Date type
select ... from tab
where trunc(reg_date) = trunc(sysdate);
↓
select ... from tab
where reg_date >= trunc(sysdate) and regdate < trunc(sysdate)+1;
where trunc(reg_date) = trunc(sysdate);
↓
select ... from tab
where reg_date >= trunc(sysdate) and regdate < trunc(sysdate)+1;
○ substr()을 like로
select ... from tab
where substr(col1, 1, 3) = 'abc';
↓
select ... from tab
where col1 like 'abc%';
where substr(col1, 1, 3) = 'abc';
↓
select ... from tab
where col1 like 'abc%';
'오라클 > 튜닝' 카테고리의 다른 글
[튜닝] HWM(High Water Mark)를 실제 데이터가 들어있는 위치로 내리는 조치 방법 (0) | 2010.10.09 |
---|---|
[튜닝] 인덱스의 분석 및 재구성 (0) | 2010.10.09 |
[튜닝] 인덱스의 종류 (0) | 2010.10.09 |
[튜닝] 인덱스의 데이터블록 액세스 방식 (0) | 2010.10.09 |
[튜닝] 튜닝 관점에서의 인덱스 개념 (0) | 2010.10.09 |