옵티마이저와 힌트
·
Database
쿼리 실행절차 쿼리 실행 절차는 보통 다음과 같다. 1. 사용자로부터 요청된 SQL문장을 잘게 쪼개서 MySQL서버가 이해할 수 있는 수준으로 분리한다.(파스 트리) 2. SQL의 파싱 정보를 확인하면서, 어떤 테이블로부터 읽고 어떤 인덱스를 이용해서 테이블을 읽을지 선택한다. 3. 읽기 순서나 선택된 인덱스를 이용해 스토리지 엔진으로부터 데이터를 가져온다. 여기서 두 번째 단계는 '최적화' 단계라고 할 수 있으며, MySQL서버의 옵티마이저에서 실행한다. 이 두번째 단계가 완료되면, 쿼리의 '실행 계획'이 만들어지는 것이다. 옵티마이저 - 옵티마이저는 쿼리를 최적으로 실행하기 위해, 각 테이블의 데이터가 어떤 분포로 저장돼있는지 통계정보를 참조하며, 그러한 기본 데이터를 비교해 최적의 실행계획을 수립한..