파게로그
optimizer와 실행 계획 본문
optimizer
- SQL 개발자가 SQL을 실행할 때, optimizer는 실행 계획(execution plan)을 수립하고 SQL을 실행함
- DBMS의 소프트웨어
- 대개 프로그래밍 언어가 절차형 언어로서 데이터 액세스 방법을 개발자가 직접 작성하는 반면, SQL은 선언형 언어로서 데이터 액세스 방법은 작성되지 않고 optimizer가 결정함
optimizer의 특징
- data dictionary에 있는 오브젝트 통계, 시스템 통계 등의 정보를 사용해서 예상되는 비용 산정
- 여러 개의 실행 계획 중에서 최저 비용을 가지고 있는 계획을 선택
- optimizer가 실행 계획을 비효율적으로 수립하면, SQL 개발자는 SQL을 개선해야 함
- optimizer에게 HINT를 통해 실행 계획 변경을 요청할 수 있음
optimizer 실행 계획 확인
- optimizer는 SQL execution plan을 PLAN_TABLE에 저장함
- eg. TOAD에서는 execution plan current SQL 메뉴를 통해서 PLAN_TABLE 조회 가능
'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글
[SQL] 기본적인 문법 (0) | 2021.03.31 |
---|---|
optimizer 종류 (1) | 2021.03.22 |
table partition (0) | 2021.03.22 |
window function (0) | 2021.03.22 |
group function (0) | 2021.03.21 |
Comments