이론 목록
SQL 처리 과정의 전체 흐름: Parse부터 Execute·Fetch까지
SQL이 Parse, 최적화, Row Source 실행과 Fetch를 거치는 전체 흐름을 단계별로 연결합니다.
Shared Pool과 SQL Parsing: Library Cache·Soft Parse·Hard Parse
Shared Pool의 Dictionary·Library Cache와 Parse Lock·Pin을 구분하고 Hard Parse 및 객체 무효화 비용을 이해합니다.
옵티마이저 입문: SQL의 실행 방법을 결정하는 원리
같은 결과를 더 적은 I/O·Call·Sort·반복으로 만드는 SQL 최적화의 기본 흐름을 옵티마이저 추정과 실제 실행 통계로 연결합니다.
CBO의 판단 과정: Query Transformer·Estimator·Plan Generator
Query Transformer가 표현을 바꾸고 Estimator가 Cardinality·Cost를 추정한 뒤 Plan Generator가 후보 실행계획을 비교합니다.
실행계획 읽기 기초: Row Source Tree와 예상·실제 계획
EXPLAIN PLAN의 예상 계획과 DISPLAY_CURSOR의 실제 Cursor 계획을 구분하고 Starts·E/A-Rows·Buffers를 아래에서 위로 읽습니다.
예상 실행계획 확인: EXPLAIN PLAN·PLAN_TABLE·AUTOTRACE
PLAN_TABLE에 예상 계획을 저장·출력하고 AUTOTRACE의 실행 여부·결과·통계 옵션을 구분해 안전하게 사용합니다.
옵티마이저 통계의 기초: Table·Column Statistics 읽기
NUM_ROWS·BLOCKS와 NDV·NULL·Low/High·Histogram이 기본 Cardinality와 값별 Selectivity 추정에 미치는 영향을 이해합니다.
Selectivity·Cardinality·Cost: 통계 추정과 Plan 선택 진단
조건 만족 비율에서 Row 수와 Plan Cost로 이어지는 CBO 계산 흐름과 오차 원인을 학습합니다.
SQL 작업량의 기초: Logical I/O·Physical I/O와 읽기 방식
Buffer Gets와 Physical Read를 구분하고 Single·Multiblock, Prefetch, Direct Path I/O의 선택 조건을 이해합니다.
DB Buffer Cache 내부 동작: Hash 탐색·Buffer 상태·Hot Block 진단
Buffer Cache의 Hash 탐색, 교체, Buffer 상태와 CBC·buffer busy waits 경합을 하나의 흐름으로 이해합니다.