8.0부터 인덱스되지 않은 칼럼들에 대해서도 데이터 분포도를 수집해서 저장하는 히스토그램 정보 사용
mysql
데이터베이스의 innodb_index_stats
테이블과 innodb_table_stats
테이블로 관리(서버를 재시작해도 통계 정보 유지 가능)innodb_stats_auto_recalc
변수로 통계 정보 자동 갱신 설정innodb_stats_persistent_sample_pages
값을 높게 하면 더 정확한 통계 정보 수집(성능 감소)information_schema
데이터베이스의 column_statistics
테이블로 로드// 수동 수집
ANALYZE TABLE employees.employees
UPDATE HISTOGRAM ON gender, hire_date;
// 조회
SELECT *
FROM COLUMN_STATISTICS
WHERE SCHEMA_NAME='employees'
AND TABLE_NAME='employees'\\G