Updated:

less than 1 minute read

설명

  • parse -> bind -> execute -> patch
  • parse
    • soft parse
      • 문법 검사(syntax check)
        • Parse Tree 생성
        • Parse Tree 생성 과정에서 문법 검사
      • 의미 검사(semantic check)
        • 테이블, 컬럼 등이 실제로 존재하는지 확인
      • 공유 풀 검사(Shared Pool Check)
        • 라이브러리 캐시에 SQL문에 대한 해쉬 값이 존재하는지 확인
          • 존재하는 경우 hard parse를 수행하지 않음
        • 라이브러리 캐시
          • 한 번이라도 실행된 SQL문 해시 값 실행 계획이 공유된 공간
    • hard parse
  • bind
    • 사용자로부터 입력된 값으로 치환
  • execute
    • database buffer cache에 캐싱된 블록이 존재 유무 검사
      • 있으면 fetch 수행
      • 없으면 데이터 파일에서 블록을 가져와 database buffer cache에 캐싱 후 fetch 수행
  • fetch
    • SELECT문만 수행
    • 블록에서 원하는 데이터만 추출