1. 1 SQL파싱과 최적화

wesley·2022년 5월 22일

친절한SQL튜닝

목록 보기
1/6
post-thumbnail

1. 1 SQL파싱과 최적화

옵티마이저가 sql을 실행 할 때 어떻게 처리할까?

DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행 가능한 상태로 만드는 전 과정을 'SQL 최적화'라고 한다.

  1. SQL 파싱
  2. SQL 최적화
  3. 로우소스 생성

SQL은 실행하기전 최적화 과정을 거치는데, SQL파서가 파싱을 먼저 진행한다. 이때, SQL에 문법오류, 의미상 오류가 있는지 파악한다. 이후 옵티마이저가 통계정보를 바탕으로 다양한 실행경로를 생성해서 비교후 가장 적은 비용의 실행경로를 선택한다. 이 선택된 실행경로를 실제 실행가능한 코드로 포멧팅해주는 로우 소스 생성단계를 거쳐 SQL이 실행된다.

SQL 실행계획에 표시되는 Cost도 어디까지 예상치다. 실행경로를 선택하기 위해 옵티마이저가 여러 통계정보를 활용해 계산해 낸 값이지 실측지가 아니므로 실제 수행할 때 발생하는 I/O 또는 시간과 많은 차이가 난다.

profile
공부기록방

1개의 댓글

comment-user-thumbnail
2022년 7월 31일

좋아요~

답글 달기