MySQL 옵티마이저 실행계획
키위먹고싶다
옵티마이저 개요 MySQL 서버로 요청된 쿼리의 결과가 동일해도 내부적으로 결과를 만들어내는 방법은 매우 다양하다. 여러 방법 중 어떤 방법이 최적이고 최소의 비용이 드는지 결정해야 하는데 옵티마이저는 각 테이블의 데이터가 어떤 분포로 저장돼 있는지 통계 정보를 참조하며, 그러한 기본 데이터를 비교해 최적의 실행 계획을 수립하는 작업을 한다. MySQL에서는 EXPLAIN이라는 명령어로 쿼리의 실행 계획을 확인할 수 있다. 쿼리 실행 절차 MySQL에서 쿼리가 실행되는 과정은 세 단계로 나뉜다. 사용자로부터 요청된 쿼리 문장을 잘개 쪼개서 서버가 이해할 수 있는 수준으로 분리한다. 해당 과정을 파싱이라고 하는데 SQL 파서라는 모듈로 처리되고, 문장이 문법적으로 잘못됐다면 이 단계에서 걸러진다. 분리된 ..