MYSQL 서버의 통계정보 ⭐️⭐️
- 5.5 이전 → 메모리에 통계정보 저장
- 5.6 이후 → 영구적으로 table(disk) 에 저장
- ANALYZE / OPTIMIZE ****TABLE
히스토그램 ⭐️⭐️⭐️(운영) ⭐️(개발)
- 데이터의 분포도
- 테이블을 샘플링 할 때는 오버헤드가 있으므로 적절한 개수와 횟수로 샘플링해야함
- 히스토그램은 인덱스가 되지않은 컬럼의 분포도를 참조 하는 용도
인덱스 다이브 ⭐️
- 실행 계획시 어느정도 샘플링 해서 수집한 정보로 계획을 짜는 걸 말함
- 오버 헤드는 발생
코스트 모델 ⭐️
- 운영자가 비용 상수를 조정해서 옵티마이저가 특정 작업을 선택하거나 선택하지 않도록 할 수 있다.
실행계획 확인 방법 ⭐️⭐️⭐️⭐️
- explain analyze
- 들여쓰기가 같은 레벨에서는 상단에 위치한 라인이 먼저 실행
- 들여쓰기가 다른 레벨에서는 가장 안쪽에 위치한 라인이 먼저 실행