RDBMS
[MySQL] 쿼리 실행 구조
Wanderer Kim
2025. 5. 13. 18:53
728x90
쿼리 실행 과정
쿼리가 실행 되는 전체적인 과정은 아래와 같다.
- SQL 요청
- 쿼리 파서
- 전처리기
- 옵티마이저
- 쿼리 실행기
- 스토리지 엔진
- SQL 결과 반환
쿼리 파서
- 쿼리 파서는 사용자 요청으로 들어온 쿼리 문달을 토큰으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미한다.
- 쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용자에게 오류 메시지를 전달한다.
전처리기
- 파서 과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인한다.
- 각 토큰을 테이블 이름이나 칼럼 이름 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인하는 과정을 수행한다.
옵티마이저
- 옵티마이저는 사용자의 요청으로 들어온 쿼리 문장을 저렴한 비용으로 가장 빠르게 처리할지를 결정하는 역할을 담당한다.
실행 엔진
- 옵티마이저가 만든 실행 계획대로 각 핸들러에게 요청해서 받은 결과를 또다른 핸들러 요청의 입력으로 연결하는 역할을 한다.
핸들러(스토리지 엔진)
- MySQL 실행 엔진의 요청에 따라 데이터를 디스크로 저장하고 디스크로부터 읽어 오는 역할을 담당한다.
반응형