1. 16KB 페이지를 압축 (압축 결과를 7KB로 가정)
2. MySQL 서버는 디스크에 압축된 결과 7KB를 기록 (이때 MySQL 서버는 압축 데이터 7KB에 9KB의 빈 데이터를 기록)
3. 디스크에 데이터를 기록한 후, 7KB 이후의 공간 9KB에 펀치 홀(Punch-hole)을 생성
4. 파일 시스템은 7KB만 남기고 나머지 디스크의 9KB 공간은 다시 운영체제로 반납
COMPRESSION
옵션을 설정하면 된다.-- 테이블 생성 시
CREATE TABLE t1 (c1 INT) COMPRESSION="zlib";
-- 테이블 변경 시
ALTER TABLE t1 COMPRESSION="zlib";
OPTIMIZE TABLE t1;