InnoDB page sizes: plans and ideas

April 22, 2011
Author
Vadim Tkachenko
Share this Post:

It is well known fact that InnoDB standard page size is 16K or 16384 bytes. Sometime ago we added feature to Percona Server to change that to 4K or 8K (innodb_page_size). That maybe useful for SSD that operates with 4K blocks and you can get really much better throughput with 4K ( however we need to run benchmarks yet to see real effect from it).
The bigger limitation is that this setting is for whole database instance and you need to mysqldump your data, re-create database and load data.
It could be much better if we are able to set it per table, or even per index level – this is what we want to look into in near future.

Another area for improvements: support 32K and 64K pages. Why this is needed ? For InnoDB compression.
Right now if you use 16K and trying to compress, the only good choice is to compress to 8K pages (which gives you only 2:1 compress ratio), and you rarely will be able to compress to 4K.
However I think with 32K and 64K we should be able to compress to 8K and to 16K easily and get 4:1 compression rate, as we will be operate with bigger block size with more possibilities to compress (of course it is workload depended). This is also in our plans.

Having 4K-64K block sizes with ability to set parameter per table and per index would make InnoDB really flexible for different type of use cases and storage. As Oracle makes a lot of new good features in MySQL 5.6, I would like to see that implemented also.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved