mysql数据存储格式---避免行溢出

InnoDB是将数据存在磁盘上的存储引擎。

查询需要将磁盘数据读到内存来处理,修改删除需要将内存数据写入磁盘。磁盘IO是非常慢的,所以,以页(16KB)作为内存和磁盘交互的基本单位。

insert一条数据,该数据就包含在页中,每条数据存储有一定的格式要求,通过ROW_FORMAT来指定。如:CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称;

row_format有四种格式:CompactRedundantDynamicCompressed

 规定:每行最多存65535字节(64KB,BLOB,TEXT除外)。超过大小,创表失败。

 utf8 一个字符包括1~3个字节。

一页最大16KB而一条记录最大可64KB,存在一页存不下一行记录的情况即行溢出

猜你喜欢

转载自www.cnblogs.com/tommaoxiaoqi/p/12735719.html