이글은
대용량 데이터 베이스 솔루션 자료를 보고 쓴 독후감 같은 글입니다.
옵티마이저는 SQL이 들어오면 우선 SQL을 해석하고, 실행계획을 작성하는 역할을 담당합니다.
실행은 엔진 다른 부분에서 실행하고 결과물을 내보냅니다.
조금더 세분화해보면
SQL이 들어옴
우선 SQL을 해석하는데 이때 DB에 있는 데이터 딕셔너리 에서 필요한 정보를 엑세스 한다.
SQL 해석이 완료되면 실행계획을 결정하기 전에 데이터 딕셔너리에서 인덱스 구조,
클러스터링 여부, 각종 통계정보를 확인한다
처리형태를 선택하는데 여기서 세부 진행이 달라진다.
처리 형태가 갖춰지면 처리절차를 결정하는데 한방에 조회되는 경우는 드물고 좀더 빠른 시간을
보장하는 방법으로 덩어리를 쪼갤 것이다. 그리고 쪼개기 때문에 처리절차는 2개 이상
정해질 수 있다.
처리절차가 정해지면 정해진 절차중 가장 빠른 절차를 정한다.
(옵티마이저는 관여하지 않음) 정해진 처리절차대로 실행한다.
댓글 없음:
댓글 쓰기