MySQL官方文档14.8.2.2节 — InnoDB索引的物理结构译文
2018-03-09 14:26
459 查看
4000
将新记录插入InnoDB聚簇索引时,InnoDB会尝试空出页1/16的存储空间以供将来索引记录的插入和更新。如果索引记录以连续顺序(升序或降序)插入,则生成的索引页大约占用15/16。如果记录以随机顺序插入,则页占用1/2到15/16。
InnoDB在创建或重建B-tree索引时执行批量加载。这种索引创建的方法被称为排序索引构建。innodb_fill_factor配置选项定义了在排序索引构建期间填充的每个B树页上的空间百分比,其余空间用于未来索引增长。空间索引不支持排序索引构建。有关更多信息,请参见第14.8.2.3节“分类索引构建”。Innodb_fill_factor设置为100,可以使聚簇索引页的1/16空间免费用于未来的索引增长。
如果InnoDB索引页的填充系数低于MERGE_THRESHOLD(默认情况下为50%,如果未指定),InnoDB会尝试收缩索引树以释放页。MERGE_THRESHOLD设置适用于B树和R树索引。有关更多信息,请参见第14.6.13节“为索引页配置合并阈值”。
您可以通过在初始化MySQL实例之前设置innodb_page_size配置选项来为MySQL实例中的所有InnoDB表空间定义页大小。一旦定义了实例的页大小,如果不重新初始化实例,则无法对其进行更改。支持的大小为64KB,32KB,16KB(默认),8KB和4KB,对应于选项值64k,32k,16k,8k和4k。
在MySQL 5.7中增加了对32KB和64KB页大小的支持。有关更多信息,请参阅innodb_page_size文档。
使用特定InnoDB页大小的MySQL实例不能使用来自使用不同页大小的实例的数据文件或日志文件。
前言
本篇文章为MySQL官方文档14.8.2.2节 — InnoDB索引的物理结构译文,纯平自己粗浅的英语功底和翻译软件进行翻译,如有问题,欢迎指正。14.8.2.2 InnoDB索引的物理结构
除空间索引外,InnoDB索引是B树数据结构。空间索引使用R树,这是用于索引多维数据的专用数据结构。索引记录存储在B树或R树数据结构的叶节点的页中。索引页的默认大小是16KB。将新记录插入InnoDB聚簇索引时,InnoDB会尝试空出页1/16的存储空间以供将来索引记录的插入和更新。如果索引记录以连续顺序(升序或降序)插入,则生成的索引页大约占用15/16。如果记录以随机顺序插入,则页占用1/2到15/16。
InnoDB在创建或重建B-tree索引时执行批量加载。这种索引创建的方法被称为排序索引构建。innodb_fill_factor配置选项定义了在排序索引构建期间填充的每个B树页上的空间百分比,其余空间用于未来索引增长。空间索引不支持排序索引构建。有关更多信息,请参见第14.8.2.3节“分类索引构建”。Innodb_fill_factor设置为100,可以使聚簇索引页的1/16空间免费用于未来的索引增长。
如果InnoDB索引页的填充系数低于MERGE_THRESHOLD(默认情况下为50%,如果未指定),InnoDB会尝试收缩索引树以释放页。MERGE_THRESHOLD设置适用于B树和R树索引。有关更多信息,请参见第14.6.13节“为索引页配置合并阈值”。
您可以通过在初始化MySQL实例之前设置innodb_page_size配置选项来为MySQL实例中的所有InnoDB表空间定义页大小。一旦定义了实例的页大小,如果不重新初始化实例,则无法对其进行更改。支持的大小为64KB,32KB,16KB(默认),8KB和4KB,对应于选项值64k,32k,16k,8k和4k。
在MySQL 5.7中增加了对32KB和64KB页大小的支持。有关更多信息,请参阅innodb_page_size文档。
使用特定InnoDB页大小的MySQL实例不能使用来自使用不同页大小的实例的数据文件或日志文件。
相关文章推荐
- MySQL官方文档14.8.2.1节 — 聚簇索引和二级索引译文
- MySQL官方文档14.3节 — InnoDB多版本控制译文
- 14.8.2.2 InnoDB索引的物理结构
- MySQL ·InnoDB 文件系统之文件物理结构
- MySQL5.7官方文档翻译: 全文索引,自然语言搜索模式
- MySQL官方文档14.4.8节 — Undo Logs撤销日志译文
- MySQL · 引擎特性 · InnoDB 文件系统之文件物理结构
- MySQL官方文档14.5.2.1节 — 事务隔离级别译文
- mysql 索引页物理结构--physical structer of an innodb index
- mysqlidxchk查看mysql未使用索引官方文档
- MySQL官方文档14.4.13节 — Redo Log重做日志译文
- MySQL5.7官方文档翻译: InnoDB Full-Text Stopwords
- MySQL官方文档14.4.13.1节 — 重做日志刷新的组提交译文
- MySQL ・ 引擎特性 ・ InnoDB 文件系统之文件物理结构
- 由浅入深探究mysql索引结构原理、性能分析与优化
- MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息
- 【转】由浅入深探究mysql索引结构原理、性能分析与优化
- MySQL两种主要表存储结构MyISAM和InnoDB比较
- MySQL的MyISAM与InnoDB的索引方式
- mysql innodb 引擎 key - 和 Primary key的区别 以及 索引的用法总结