
MySQL 엔진: 사람으로 비유하면 판단과 명령을 하는 두뇌라 생각할 수 있음
구성 요소
쿼리 파서
전처리기
옵티마이저:
쿼리 실행기:
쿼리파서, 전처리기는 컴파일 과정과 매우 유사하다.
하지만 SQL은 프로그래밍 언어처럼 컴파일 타임때 검증 할 수 없어 매번 구문 평가를 진행
MySQL에는 5버전 까지 쿼리 캐시가 존재했다. 쿼리를 실행해서 나온 데이터를 저장하는 캐시이다.
쿼리캐시를 사용하면 빠른 조회가 가능하지만 갱신시 캐시의 내용도 갱신해주어야 하고 락문제가 발생하기도했다. 그래서 8버전에 들어오면서 폐기 되었다.
소프트 파싱: SQL, 실행계획을 캐시에서 찾아 옵티마이저 과정을 생략하고 실행 단계로 넘어감(Oracle에는 존재함)
하드 파싱: SQL, 실행계획을 캐시에서 찾지못해 옵티마이저 과정을 거치고나서 실행단계로 넘어감