Data

[1028 SQL]Ⅲ. SQL 고급 활용 및 튜닝-제5장 SQL 옵티마이저

제5장 SQL 옵티마이저

제1절 SQL 옵티마이징 원리
제2절 SQL 공유 및 재사용
제3절 쿼리 변환

제1절 SQL 옵티마이징 원리

sql 쿼리를 가장 효율적으로 실행할수있는방법
  1. 통계정보  데이터 분포, 인덱스정보, 데이터 크기  실행계획 세움
  2. 비용기반최적화 실행계획중 가장 낮은 비용을 가진 계획 선택
  3. 규칙기반 최적화  사전 정의된 규칙기반 실행계획 선택
  4. 힌트 개발자가 특정실행계획 강제 

제2절 SQL 공유 및 재사용

동일 쿼리 반복적 수행시 쿼리 파싱, 최적화 생략 
  1. 쿼리 캐시 동일 쿼리 결과 캐시에 저장 재사용
  2. 프리페어드 스테이트먼트 쿼리 템플릿 미리 준비, 파라미터만 변경
  3. 바인드 변수 쿼리 변수를 바인드 변수로 처리, 쿼리 재사용성 높임
  4. 공유쿼서 동일한 SQL 문장 반복실행, 컴파일된 커서 재사용. 

제3절 쿼리 변환

쿼리 성능을 최적화 하기위해 원래 쿼리를 더 효율적으로 
  1. 서브쿼리 조인변환  
  2. 뷰머지 뷰를 사용하는 쿼리를 기본 테이블로 변환 실행 
  4. 집계함수 푸시다운 집계함수를 빨리 실행 불필요한 데이터처리 줄임
  5. 연산의 순서 변경 쿼리 실행순서 바꿈