IT Diary/# SQL

[ SQL ] 003. 실행계획 보는법

셜록호움즈 2022. 4. 18. 23:29
728x90
반응형

1. 실행계획이란?

  • SQL이 실행되어 데이터를 처리하고 할 때, 옵티마이저에서 수립되는 SQL 실행방법론 
  • 가장 안에서부터, 가장 위에서 부터 차례차례 읽으면 된다.

실행계획 순서 3 - 2- 5- 4- 1

항목 의미
Id Operation의 Id. Predicate Information에 정보가 있다면 Id와 연결된다.
Operation 수행되는 일
Name Operation이 수행되는 테이블 혹은 인덱스 --> 오브젝트명
Rows 각 Operation이 끝났을 때 반환되는 예상치 건수
Bytes Access 하는 byte 수 예상치
Cost(%CPU) Operation의 비용 --> 누적치
Time 예상 수행 시간
access Predicate block을 읽기 전에 어떤 방법으로 block을 읽을 것인지 결정. --> index ? full table scan ? 등
filter Predicate block을 읽은 후 데이터를 필터링되어 사용되는 조건

2. 옵티마이저(Optimizer) 란?

  • 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진
  • 옵티마이저의 종류
    • 규칙 기반 옵티마이저 ( RBO )  : 오라클8 이하의 버전에 기본으로 설정되어있음
    • 비용 기반 옵티마이저 : 오라클 10 이후 버전에 주로 사용됨
      SQL문을 처리하는데 필요한 비용이 가장 적은 실행계획을 선택하는 방식, 여기서 비용은 SQL문을 처리하기 위해 예상되는
      소요시간, 자원사용량을 의미   

 

 

 

출처 : https://myjamong.tistory.com/236

 

[Oracle] 실행계획 확인 방법 XPLAN, AutoTrace, SQL Trace

실행계획 알고리즘 문제 풀때를 떠올려봅시다. 문제를 읽고 어떤 방식으로 풀어야 정확도와 효율성을 잡을 수 있을지 고민합니다. 완전탐색을 해야하는지, 이분탐으로 시간복잡도를 줄일 수 있

myjamong.tistory.com

출처 : https://coding-factory.tistory.com/743

 

[DB] 데이터베이스 옵티마이저(Optimizer)에 대하여

옵티마이저(Optimizer)란? 옵티마이저는 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진입니다. 컴퓨터의 두뇌가 CPU인 것처럼 DBMS의 두뇌는 옵티마이저라고

coding-factory.tistory.com

 

728x90
반응형