parsing
-
[SQL] 소프트 파싱 / 하드 파싱Database 2023. 7. 5. 23:54
시스템 공유 메모리에서 SQL과 실행계획이 캐싱되는 영역을 Oracle에서는 라이브러리 캐시(Library Cache),SQL Server에서는 프로시저 캐시(Procedure Cache)라고 부른다. 사용자가 SQL을 실행하면 제일 먼저 SQL Parser가 SQL문장에 문법적 오류가 없는지 검사(Syntax검사)를 한다. 문법적으로 오류가 없으면 의미상 오류가 있는지(Semantic 검사)를 한다. 예를 들어 존재하지 않거나 권한 없는 객체를 사용했는지 또는 존재하지 않는 컬럼을 사용했는지 등의 검사를 한다. Syntax검사,Semantic 검사를 마치면 사용자가 발핼한 SQL과 그 실행계획이 라이브러리 캐시에 캐싱됐는지를 확인한다. 만약 캐싱돼 있다면 무거운 최적화 과정을 거치지 않고 곧바로 실행 ..