-
SQL - 옵티마이저 종류공부 이야기/데이터베이스 2020. 8. 23. 15:41
SQL을 최적 경로를 설정해주는 DBMS 내부 핵심엔진인 옵티마이저
실행 계획(Execution Plan)이라고 하는 옵티마이저가 생성한 처리 경로가 존재한다.
쿼리 수행을 위해 후보군이 될 만한 여러 개의 '실행 계획'을 검색한 다음,
객체 통계 및 시스템 통계 정보를 이용해서 각 실행 계획의 예상 비용을 산출하고 선정한다.
('데이터 딕셔너리'라는 DBMS 모듈에 미리 수집해 놓음)
그리고 옵티마이저는 이 실행 계획 산출 방법에 따라 종류를 3가지로 나눈다.
1) 규칙기반 옵티마이저
- 미리 정해 놓은 규칙에 따라 접근 경로를 평가하고 실행 계획을 선택
2) 비용기반 옵티마이저
- 시간, 비용, 레코드 갯수, 블록 갯수, 컬럼 값 수 및 분포 등과 같은 통계 정보를 고려해서 선택
3) 스스로 학습하는 옵티마이저
- 예상치와 런타임 수행 결과를 비교하고 실행계획을 직접 조정
'공부 이야기 > 데이터베이스' 카테고리의 다른 글
SQL - 순위 관련된 함수 (0) 2020.08.23 SQL - 컬럼(열)의 데이터에 따라 누적 값을 구하는 법 (0) 2020.08.23 SQL - WHERE 절에서 NULL 값 조건 주는 법 (0) 2020.08.23 SQL - LENGTH 함수에 대해 (0) 2020.08.22 SQLD 자습 정리 (0) 2020.08.08