[MySQL] 페이지 압축과 테이블 압축의 비교

InnoDB 페이지 압축은 InnoDB 테이블을 압축하는 현대적인 방법입니다. InnoDB의 COMPRESSED 행 형식과 유사하지만 많은 장점이 있습니다. 몇 가지 차이점은 다음과 같습니다.

- InnoDB 페이지 압축을 사용하면 압축 된 페이지는 테이블 스페이스 파일에서 읽은 후 즉시 압축 해제되고 압축되지 않은 페이지 만 버퍼 풀에 저장됩니다. 반대로 InnoDB의 COMPRESSED 행 형식을 사용하면 압축 된 페이지는 테이블 스페이스 파일에서 읽은 직후 압축이 풀리고 압축되지 않은 페이지와 압축 된 페이지는 모두 버퍼 풀에 저장됩니다. 즉, COMPRESSED 행 형식은 InnoDB 페이지 압축보다 버퍼 풀에서 더 많은 공간을 사용합니다.

- InnoDB 페이지 압축을 사용하면 테이블 스페이스 파일에 기록되기 직전에 페이지가 압축됩니다. 반대로 InnoDB의 COMPRESSED 행 형식을 사용하면 페이지가 변경된 직후에 다시 압축되고 압축 된 페이지는 압축되지 않은 페이지와 함께 버퍼 풀에 저장됩니다. 이러한 변경 사항은 때때로 디스크로 플러시됩니다. 이는 COMPRESSED 행 형식이 InnoDB 페이지 압축보다 더 자주 데이터를 다시 압축한다는 것을 의미합니다.

- InnoDB 페이지 압축을 사용하면 여러 압축 알고리즘이 지원됩니다. 반대로 InnoDB의 COMPRESSED 행 형식에서는 zlib가 유일하게 지원되는 압축 알고리즘입니다. 이것은 COMPRESSED 행 형식이 InnoDB 페이지 압축보다 압축 옵션이 적다는 것을 의미합니다.

 

일반적으로 InnoDB 페이지 압축은 COMPRESSED 행 형식보다 우수합니다.

 

https://mariadb.com/kb/en/innodb-page-compression/

Designed by JB FACTORY