파게로그

optimizer와 실행 계획 본문

콤퓨타 왕기초/SQLD/JDBC/Oracle DB

optimizer와 실행 계획

파게 2021. 3. 22. 15:19

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