Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[Oracle] Parsing(구문 분석) 본문
SQL문 실행 과정
- Soft Parsing : Library Cache에 이전에 실행했던 쿼리가 있는 경우 실행
- Hard Parsing : Library Cache에 이전에 실행했던 쿼리가 없는 경우 실행

| Parsing | Syntax Check (문법 검사) | - SQL문의 철자 및 문법에 이상이 없는지를 확인 |
| Semantic Check (오브젝트, 권한 검사) |
- SQL문에 사용된 테이블 이름, 컬럼 등이 정확한지 검사 - SQL문을 사용하는 사용자가 해당 권한이 충분한지 검사 |
|
| Shared pool Check (Library Cache 확인) |
- Library Cache에 실행 계획이 있는지 확인 - 있으면 Soft Parsing - 없으면 Hard Parsing |
|
| Soft Parsing | Execution (수행) | - Library Cache에 저장되어 있는 쿼리 실행 계획을 바로 사용 |
Hard Parsing |
Optimization (쿼리 변환, 최적화) |
- 최적화한 쿼리 실행 계획을 만든다. - 1. Query Transform : 쿼리 블록 단위로 변형된 쿼리 생산 - 2. Plan Generator : 쿼리 실행 계획 생성 - 3. Estimator : 쿼리 실행 계획들의 Cost를 계산해 최소 비용의 SQL문장을 Row source generation에게 전달 |
| Row source generation (프로그램 소스 생성) |
- DB 엔진이 실행할 수 있는 프로그램 소스 생성 | |
| Execution (수행) | - 위 2가지 과정을 거쳐 실행 |
'Oracle SQL 엔진' 카테고리의 다른 글
| [Oracle] SQL 명령어 분류(DDL, DML, DCL) (0) | 2022.12.21 |
|---|---|
| [Oracle] 오라클 서버 기동 단계 (1) | 2022.12.21 |
| [Oracle] Table Lock의 종류 (0) | 2022.12.20 |
| [Oracle] 데이터베이스 논리적/물리적 구조 (0) | 2022.12.20 |
| [Oracle] 데이터베이스 구조 (Database, SGA/PGA) (0) | 2022.12.19 |
Comments