DBMS는 사용자로부터 실행된 SQL을 받으면 가장 먼저 SQL 파싱을 수행합니다. 먼저 SQL Parser가 SQL 개별 요소를 분석해서 파싱트리를 생성합니다. SQL에 문법적 오류가 없는지 체크하고 (= Syntax 체크) 오브젝트 존재 여부, 권한 확인 등의 의미상 오류를 체크합니다. (= Semantc 체크) 검사가 끝나면 해당 SQL과 일치하는 SQL이 메모리에 캐싱되어 있는지를 확인하고 캐싱되어 있다면 별도의 최적화 작업을 수행하지 않고 SQL에 대한 실행계획을 찾아 바로 실행합니다. (= 소프트 파싱) 캐싱되어 있지 않다면 최적화 작업을 수행하게 됩니다. (= 하드 파싱) 이 최적화 작업은 옵티마이저가 미리 수집한 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교한 후 ..