大字段优化

大字段类型

  Mysql中的text/blob/longtext/longblob/varchar(8192)等占用较大存储空间的字段类型;

影响

  1. 占用大量的存储空间。因为每个大字段溢出的数据都会存储在单独页中(存储独享),现象就是占用的存储空间远超过实际的数据量;
  2. 读写性能下降。相同的内存能够缓存的记录变少(占用的页变多);

优化方式

方式1: 压缩&压缩:将多个大字段合并成一个,并进行压缩;
方式2: 拆分:将大字段存储到单独的表中;

行溢出off-page

定义: 数据库一条记录太大,导致innoDB单页无法存储,产生溢出;
原因: InnoDB页的大小默认为16KB,由于采用B+树结构存储,每个叶子节点最少存储两条记录,因此每条记录最多不能超过8KB,否则会发生行溢出;
大字段优化

参考:

  1. MySQL的实战系列:大字段如何优化