728x90
반응형
1. 실행계획이란?
- SQL이 실행되어 데이터를 처리하고 할 때, 옵티마이저에서 수립되는 SQL 실행방법론
- 가장 안에서부터, 가장 위에서 부터 차례차례 읽으면 된다.
항목 | 의미 |
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
반응형
'IT Diary > # SQL' 카테고리의 다른 글
[ SQL ] 004. INDEX가 동작을 제대로 안하는 경우 #2 (0) | 2023.01.11 |
---|---|
[ SQL ] 003. INDEX가 동작을 제대로 안하는 경우 #1 (0) | 2023.01.04 |
[ SQL ] 001. INDEX 의 정의 (0) | 2021.03.17 |
[ SQL ] 002. INDEX SCAN (0) | 2021.03.16 |