SQL 튜닝은 빠른 SQL을 만드는 기술이 아니다.
병목을 식별하고, 자원을 절약하며, 실행계획을 해석하는 구조적 사고의 과정이다.
항목 | 설명 |
---|---|
Id | 실행 단계의 계층적 번호 (하위부터 실행됨) |
Operation | 실행 연산 (TABLE ACCESS, JOIN, FILTER 등) |
Rows | 예상 리턴 행 수 (Cardinality) |
Cost | 옵티마이저가 판단한 상대적 수행비용 |
Access Predicate | 인덱스에 적용된 조건절 |
Filter Predicate | 인덱스 외 조건절 (추가 필터링) |
| 문제 SQL |
SELECT * FROM EMP WHERE TO_CHAR(HIREDATE, 'YYYY') = '2022';
| 개선 SQL |
WHERE HIREDATE BETWEEN TO_DATE('2022-01-01','YYYY-MM-DD') AND TO_DATE('2022-12-31','YYYY-MM-DD')