I never had much reason to use table compression, so I largely ignored the topic in MySQL. I knew that MySQL had table compression since 5.1, but I also knew the implementation was horribly complicated and double stored all data. There is also page compression, a feature introduced with 5.7, which replaces table compression and works much better.
Table Compression
Table Compression is available in MySQL 5.1
and newer. It is used by setting an InnoDB table up with
ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 or similar,
for even smaller key block sizes. A lot of status tables in
INFORMATION_SCHEMA.%CMP% are available to monitor
it.
Table compression creates smaller pages (in the size you specify
with KEY_BLOCK_SIZE), and loads and stores
compressed pages of this smaller size from and to the …