IT 이야기/DB

[SQLP 시험대비 요약/단답형] 소프트 파싱과 하드 파싱

하늘봉 2022. 9. 10. 12:00
반응형

DBMS는 사용자로부터 실행된 SQL을 받으면 가장 먼저 SQL 파싱을 수행합니다.

 

먼저 SQL Parser가 SQL 개별 요소를 분석해서 파싱트리를 생성합니다.

SQL에 문법적 오류가 없는지 체크하고 (= Syntax 체크)

오브젝트 존재 여부, 권한 확인 등의 의미상 오류를 체크합니다. (= Semantc 체크)

 

검사가 끝나면

해당 SQL과 일치하는 SQL이 메모리에 캐싱되어 있는지를 확인하고 

캐싱되어 있다면 별도의 최적화 작업을 수행하지 않고 SQL에 대한 실행계획을 찾아 바로 실행합니다.

(= 소프트 파싱)

 

캐싱되어 있지 않다면 최적화 작업을 수행하게 됩니다.

(= 하드 파싱)

 

최적화 작업은

옵티마이저가 미리 수집한 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교한 후
가장 효율적인 하나를 선택하는 작업입니다.

 

최적화 작업을 통해 SQL 처리과정을 표현한 실행계획이 만들어집니다.

 

이를 실제 실행 가능한 코드 또는 프로시저 형태로 포맷팅해야 하는데
이것을 로우 소스 생성이라고 하며, 최종적으로 SQL을 실행하게 됩니다.

 

앞에서 설명한 내용을 도식화 하면 아래와 같습니다.

 

 

 

* 한국데이터산업진흥원의 SQL 전문가 가이드 내용을 기반으로 작성하였습니다.

반응형