상세 컨텐츠

본문 제목

[MySQL] 쿼리 실행 구조

RDBMS

by Wanderer Kim 2025. 5. 13. 18:53

본문

728x90

쿼리 실행 과정

쿼리가 실행 되는 전체적인 과정은 아래와 같다.

  1. SQL 요청
  2. 쿼리 파서
  3. 전처리기
  4. 옵티마이저
  5. 쿼리 실행기
  6. 스토리지 엔진
  7. SQL 결과 반환

쿼리 파서

  • 쿼리 파서는 사용자 요청으로 들어온 쿼리 문달을 토큰으로 분리해 트리 형태의 구조로 만들어 내는 작업을 의미한다.
  • 쿼리 문장의 기본 문법 오류는 이 과정에서 발견되고 사용자에게 오류 메시지를 전달한다.

전처리기

  • 파서 과정에서 만들어진 파서 트리를 기반으로 쿼리 문장에 구조적인 문제점이 있는지 확인한다.
  • 각 토큰을 테이블 이름이나  칼럼 이름 또는 내장 함수와 같은 개체를 매핑해 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인하는 과정을 수행한다.

옵티마이저

  • 옵티마이저는 사용자의 요청으로 들어온 쿼리 문장을 저렴한 비용으로 가장 빠르게 처리할지를 결정하는 역할을 담당한다.

실행 엔진

  • 옵티마이저가 만든 실행 계획대로 각 핸들러에게 요청해서 받은 결과를 또다른 핸들러 요청의 입력으로 연결하는 역할을 한다.

핸들러(스토리지 엔진)

  • MySQL 실행 엔진의 요청에 따라 데이터를 디스크로 저장하고 디스크로부터 읽어 오는 역할을 담당한다.
반응형

'RDBMS' 카테고리의 다른 글

[MySQL] B-Tree index를 사용할 수 없는 조건들  (0) 2025.05.29
[MySQL] MVCC(Multi-Version Concurrency Control)  (0) 2025.05.14
OLTP vs OLAP  (0) 2024.03.03
[SQLD] 쿼리 실행 순서  (0) 2023.05.29
[SQLD] grant  (1) 2023.05.21

관련글 더보기

댓글 영역