An overview of the InnoDB compression
InnoDB supports the compression of tables. There are two reasons why we may want to use this feature:
Saving space on disks
Reducing the I/O
The first reason is more relevant if we use SSD storage devices because many I/O operations reduce their lifetime.
On many workloads, the I/O from and to disks is the bottleneck. Reducing the data size obviously reduces the amount of data that needs to be moved from disks to the buffer pool and vice versa.
However, InnoDB compression has a cost. The pages read from disks need to be uncompressed before being inserted into the buffer pool. Changes to the buffer pool and the change buffer must be compressed before being written onto the disk. This requires additional work by the CPU. For this reason, using compression may result in a slower performance.
Also, if there is enough memory, InnoDB keeps both compressed and uncompressed versions of all the data in the buffer pool. This means that the buffer pool needs more space...