InnoDB におけるカラムの格納

カラムサイズが768バイトを超えると16KB単位になるってのは重要。

Question:
How much space InnoDB allocates for each blob outside of the page?

HT: For each column that InnoDB needs to store ‘externally’, it allocates whole 16 kB pages. That will cause a lot of waste of space if the fields are less that 16 kB.

The ‘zip’ source code tree by Marko has removed most of the 768 byte local storage in the record. In that source code tree, InnoDB only needs to store locally a prefix of an indexed column.

Heikki Tuuri Innodb answers - Part I - Percona Database Performance Blog

Heikki Tuuri answers to Innodb questions, Part II - Percona Database Performance Blog

Part II も含め、このインタヴューは必読。