【老葉觀點】InnoDB的data page默認是16KB,基于B+Tree的特點,一個data page中需要至少存儲2條記錄。因此,當實際存儲長度超過8KB(尤其是TEXT/BLOB列)的大列(large column)時會引起“page-overflow存儲”,類似ORACLE中的“行遷移”。
因此,如果必須使用大列(尤其是TEXT/BLOB類型)且讀寫頻繁的話,則最好把這些列拆分到子表中,不要和主表放在一起存儲。如果不太頻繁,可以考慮繼續保留在主表中。
當然了,如果將?innodb_page_size 選項修改成 8KB,那么行記錄物理長度建議不超過4KB。
【參考】:[[MySQL優化案例]系列 — 優化InnoDB表BLOB列的存儲效率](http://imysql.com/2014/09/28/mysql-optimization-case-blob-stored-in-innodb-optimization.shtml)。