9.1 개요

9.1.1 쿼리 실행 절차

SQL 분리(파스 트리 생성)파스 트리를 통해 어떤 테이블을 어떤 인덱스로 읽을 지 결정스토리지 엔진으로부터 데이터를 가져옴

  1. 파스 트리 생성에서 문법 문제 걸러짐
  2. SQL 파스 트리를 통해 아래 내용 처리
    1. 불필요한 조건 제거, 연산 단순화
    2. 조인이 있는 경우 어떤 순서로 읽을지 결정
    3. 조건과 인덱스 통계 정보를 이용해 사용할 인덱스 결정
    4. 가져온 레코드를 임시 테이블에 넣고 재가공이 필요한지 결정

9.1.2 옵티마이저의 종류

옵티마이저 → 데이터베이스 서버의 두뇌

9.2 기본 데이터 처리

9.2.1 풀 테이블 스캔과 풀 인덱스 스캔

풀 테이블 스캔을 선택하는 경우:

InnoDB 스토리지 엔진은 특정 테이블의 연속된 데이터 페이지가 읽히면, 백그라운드 스레드에 의해 리드 어헤드(어떤 영역의 데이터가 앞으로 필요해지리라는 것을 예측하고 미리 InnoDB 버퍼 풀에 가져다 두는 것) 작업이 자동으로 시작

풀 인덱스 스캔도 마찬가지로 리드 어헤드 동작

9.2.2 병렬 처리

하나의 쿼리를 병렬로 처리하는걸 말함 → 8.0부터