CodeClover

옵티마이저(optimizer) 본문

인턴

옵티마이저(optimizer)

coding dew 2024. 5. 15. 01:24

옵티마이저(optimizer)란 ?

: 가장 효율적인 방법으로 SQL 수행할 최적의 처리 경로를 생성해주는 DBMS 핵심 엔진이다.

- 쿼리 실행 절차(4)

1. Parsing
2. Optimization
3. Generation
4. Execution
우리가 일반적으로 mysql,oracle등을 통해서 sql 쿼리문을 작성하면, 위의 4단계의 순서대로 쿼리가 실행된다.

1단계. sql parser ?
: 개발자가 작성한 sql문을 쪼개서 sql paring 과정으로 optimazer로 파싱처리 한다. ( 이때 파싱 단계에서 문법검증이 일어난다. )

2단계. optimizer ?
: 파싱된 sql문을 보고 동일한 결과로 도출하지만 만약 더 나은 실행계획을 갖는 sql문으로 변환이 가능한지 확인하고 변환 작업을 수행하거나,
시스템 통계정보를 딕셔너리로부터 수집해서 sql 실행시 소요되는 총 비용을 계산하는 과정을 거친다.

3단계. generator ?
: 옵티마이저에서 생성한 실행계획을 sql 엔진이 실제 실행할 수 있는 코드나 프로시저 형태로 포맷한다.

4단계. execution ?
: 포맷된 sql을 실행하고 결과를 사용자에게 전달한다.

'인턴' 카테고리의 다른 글

웹 동기화 VS DB 마이그레이션  (2) 2024.06.07
PTR이란 ?  (0) 2024.05.30
AML ( Anti-Money-Laundering)  (0) 2024.05.13
SSO(Single Sign-On)  (3) 2024.05.13
셰마포어(Semaphore)  (3) 2024.05.12