Oracle에서 SQL 문장의 실행 원리
Oracle에서 SQL 문장의 실행 원리
사용자가 SQL문장을 수행하면 사용자의 PC쪽에 USer Process라는 프로세가 해당 SQL문장을 서버로 전달.
User Process는 자신이 가져온 SQL문장을 Server Process에게 전달 후 결과값이 나오기까지 대기.
User Process로부터 SQL문장을 받은 Server Process는 해당 문법검사 (Syntax Check) -> 의미 검사 (Semantic Check)를 한 후 권한 검사. 이 과정을 Parse 라고 함. (권한 검사란? 어떤 사용자가 행당 오브젝트에 접근 할 수 있는 권한이 있는 없는지를 확인 하는 과정.)
문법이 맞는지 틀린지, 권한이 있는 없는지를 모두 검사한 후에 Shared Pool이라는 곳의 Library Cache를 검사.
실행계획인 존재 한다면 Execution 단계로 진행하고 (Soft Parse),
없으면 옵티마이저를 찾아가 실행 계획을 만들어 달라고 요청. Data Dictionary등을 참조하여 옵티마이저가 실행 계획 생성. (Hard Parse). Soft Parse 실패시에만 Hard Parse 과정을 거침.
최신 댓글