제1절 SQL 옵티마이징 원리
|
sql 쿼리를 가장 효율적으로 실행할수있는방법 |
|
1. 통계정보 |
데이터 분포, 인덱스정보, 데이터 크기 실행계획 세움 |
|
2. 비용기반최적화 |
실행계획중 가장 낮은 비용을 가진 계획 선택 |
|
3. 규칙기반 최적화 |
사전 정의된 규칙기반 실행계획 선택 |
|
4. 힌트 |
개발자가 특정실행계획 강제 |
제2절 SQL 공유 및 재사용
|
동일 쿼리 반복적 수행시 쿼리 파싱, 최적화 생략 |
|
1. 쿼리 캐시 |
동일 쿼리 결과 캐시에 저장 재사용 |
|
2. 프리페어드 스테이트먼트 |
쿼리 템플릿 미리 준비, 파라미터만 변경 |
|
3. 바인드 변수 |
쿼리 변수를 바인드 변수로 처리, 쿼리 재사용성 높임 |
|
4. 공유쿼서 |
동일한 SQL 문장 반복실행, 컴파일된 커서 재사용. |
제3절 쿼리 변환
|
쿼리 성능을 최적화 하기위해 원래 쿼리를 더 효율적으로 |
|
1. 서브쿼리 조인변환 |
|
|
2. 뷰머지 |
뷰를 사용하는 쿼리를 기본 테이블로 변환 실행 |
|
4. 집계함수 푸시다운 |
집계함수를 빨리 실행 불필요한 데이터처리 줄임 |
|
5. 연산의 순서 변경 |
쿼리 실행순서 바꿈 |
|
|
|
|