CREATE TABLE t1 (c1 INT) COMPRESSION="zlib";
압축된 결과가 어느 정도가 될지 예측해서 KE_BLOCK_SIZE를 결정하는게 중요
압축 실패율이 높다고 해서 압축을 사용하지 말아야 한다는 것을 의미 하지 않음
INSERT만 되는 로그 테이블의 경우 한 번 INSERT되면 이후 다시는 변경되지 않아 실패해서 스플릿 후 재압축 한다고 하더라도 전체적으로 데이터 파일의 크기가 큰 폭으로 줄어든다면 손해는 아니다.
반대로 압축 실패율이 높지 않은 경우 테이블의 데이터가 빈번하게 조회되고 변경된다면 압축은 고려하지 않는 것이 좋다.
압축된 테이블과 압축되지 않은 테이블이 공존, 압축이 적용된 페이지, 적용되지 않은 페이지 모두 가질 수 있다.
메모리 낭비 및 CPU 소모를 줄이기 위해 다음과 같은 처리 수행
버퍼풀의 공간이 필요한 경우에는 LRU 리스트에서 원본 데이터 페이지(압축된 형태)는 유지하고, Unzip_LRU 리스트에서 압축 해제된 버전은 제거해서 버퍼 풀의 공간을 확보한다.
압축된 데이터 페이지가 자주 사용되는 경우에는 Unzip_LRU 리스트에 압축 해제된 페이지를 계속 유지하면서 압축 및 압축 해제 작업을 최소화한다.