mysql 索引页物理结构--physical structer of an innodb index

mysql 索引页物理结构-physical structer of an innodb index
https://dev.mysql.com/doc/refman/5.7/en/innodb-physical-structure.html

除了空间索引,innodb索引是B数数据结构。空间索引使用R数,其是用于索引多维数据的专用数据结构。索引记录存储在其B-tree或R-tree的叶子节点上。索引页默认大小是16K

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

 innodb在创建或重建B树索引时执行批量加载。这种索引构建方法称之为排序索引构建。innodb_fill_factor定义在排序索引构建期间填充的每个B树页面上的空间百分比,剩余空间为未来索引增长保留。空间索引不支持索引构建。详细信息参见 15.8.12节(https://dev.mysql.com/doc/refman/5.7/en/sorted-index-builds.html)。设置为100的innodb_fill_factor将留下聚集索引页中1/16的空间,以供将来索引增长。
  如果innodb索引页的填充因子低于MERGE_THRESHOLD,默认情况下为50%(如果未指定),innodb将尝试收缩索引树以释放页面。MERGE_THRESHOLD的设置适用于B树和R树索引。有关选项参看(https://dev.mysql.com/doc/refman/5.7/en/index-page-merge-threshold.html)

  在创建实例之前你可以通过设置innodb_page_size配置选项来配置mysql实例中所有innodb表空间的页大小。一旦设置了实例的页面大小,你就无法更改它。支持的大小对应选项值为64k,32k,16k,8k,4k,16K是默认设置大小。

  在mysql 5.7中增加了对32KB和64KB页大小的支持。 可参阅innodb_page_size文档(https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_size)
 
  使用特定innodb页大小的mysql实例无法使用来自于使用不同页大小的实例的数据文件或日志文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值