Open mojh7 opened 1 year ago
MySQL 5.7 버전 까지는 옵티마이저가 사용하는 파티션들의 목록을 EXPLAIN PARTITION
명령으로 확인
8.0버전 부터는 EXPLAIN
명령으로 파티션 관련 실행 계획까지 모두 확인할 수 있게 변경됐다
432p 예제를 보면 employees 테이블의 모든 레코드 복사해서
파티션 테이블 생성하고 employees_2 테이블이 hire_date 칼럼값을 기준으로 5년 단위로 나누어진 파티션을 가짐
파티션 프루닝(Partition pruning)
쿼리의 실행 계획을 통해서 어느 파티션을 읽는지 확인할 수 있어야 쿼리의 튜닝이 가능할 것이다 (433p)
어떤 파티션을 접근했는지 partitions을 보면 알 수 있다
type 값을 보면 ALL인데 풀 테이블 스캔으로 쿼리가 처리된다는 것
풀 테이블 스캔으로 어떻게 테이블의 일부만 읽을 수 있는 것인가?
432~433p 예제에서는 employees_2 테이블의 모든 파티션이 아니라 p1996_2000 파티션과 p2001_2005 파티션만 풀 스캔을 실행하게 된다
다음 스터디
2022-09-28 pm 7:30
학습 범위
정리 범위