mysql索引物理结构_mysql8 参考手册--InnoDB索引的物理结构

除了空间索引之外,InnoDB索引都是B树数据结构。空间索引使用R树,R树是用于索引多维数据的专用数据结构。索引记录存储在其B树或R树数据结构的叶页中。索引页的默认大小为16KB。

当新记录被插入到InnoDB聚集索引中时,InnoDB会尝试保留页面的1/16空间,以便将来插入和更新索引记录。如果按顺序(升序或降序)插入索引记录,则生成的索引页大约为15/16。如果以随机顺序插入记录,则页面从1/2到15/16。

InnoDB在创建或重建B树索引时执行大容量加载。这种索引创建方法称为排序索引构建。innodb_fill_factor configuration选项定义了在排序索引构建期间填充的每个B树页面上的空间百分比,剩余空间保留用于将来索引增长。空间索引不支持排序索引生成。如果innodb_fill_factor设置为100,则聚集索引页中的1/16空间可供将来索引增长使用。

如果InnoDB索引页的填充因子低于MERGE_阈值(如果未指定,默认为50%),InnoDB将尝试收缩索引树以释放该页。MERGE_THRESHOLD设置同时适用于B-tree和R-tree索引。

通过在初始化MySQL实例之前设置InnoDB页面大小配置选项,可以为MySQL实例中的所有InnoDB表空间定义页面大小。一旦定义了实例的页面大小,就不能在不重新初始化实例的情况下对其进行更改。支持的大小为64KB、32KB、16KB(默认)、8KB和4KB。

使用特定InnoDB页面大小的MySQL实例不能使用来自使用不同页面大小的实例的数据文件或日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值