Database
[MySQL] MySQL 쿼리 실행 구조
쿼리 캐시 동일 SQL 쿼리가 실행되면 테이블을 읽지 않고 캐시 데이터를 반환한다. 하지만 테이블의 데이터가 변경되면 캐시에 저장된 데이터 중 변경 사항과 관련된 것들을 모두 삭제해야한다. 이는 심각학 동시 처리 성능 저하를 유발한다. 결국 MySQL 8.0에서부터 쿼리 캐시 기능은 완전히 제거 되었다. 쿼리 파서 쿼리 문장을 토큰으로 분리해 트리 형태의 구조로 만든다. 쿼리 문장의 기본 문법 오류를 발견하고 오류 메시지를 전달한다. 전처리기 파싱된 쿼리 문장에서 구조적인 문제점을 확인한다. 각 토큰을 테이블 이름이나 칼럼 이름, 내장 함수와 같은 객체를 매핑한다. 해당 객체의 존재 여부와 객체의 접근 권한 등을 확인한다. 실제 존재하지 않거나 권한상 사용할 수 없는 경우 오류가 발생한다. 옵티마이저 쿼..