一、mysql的4种行数据存储格式
mysql有4种存储格式:1)Compact 2) Redundant (5.0版本以前用,已废弃) 3) Dynamic (mysql5.7默认格式) 4) Compressed。 这是compact行格式数据存储结构:
DB_ROW_ID(row_id)
DB_TRX_ID 事务有关,跟回滚指针有关,6个字节
DB_ROLL_PTR 事务有关,跟回滚指针有关, 7个字节
二、数据溢出处理
mysql对于一个varchar列最多可以定义为65535个字节大小,但是当一个列比如是varchar(40000),会超出mysql对于一页的磁盘存储大小16KB * 1024 = 16384 > 40000 个字节,这个就需要分页了,因为单页数据溢出了。mysql会存储768个真实数据的字节,并且用20个字节存储把其他数据存放到哪些页中去。
end.