B-Tree索引
Posted liuxuelin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B-Tree索引相关的知识,希望对你有一定的参考价值。
1.数据结构
基本结构为B+树,B+树的数据结构:
https://www.cnblogs.com/liuxuelin/p/14773342.html
2.B-tree索引的操作
2.1索引的创建
首先将每一个需要索引的元组生成对应的索引元组,然后调用tuplesort对索引元组进行排序,最后创建索引。
索引元组是一个索引结构的基本单位,由IndexTupleData表示,包含了指向表元组的id和其他基本信息
填充因子
创建索引时可以指定索引的填充因子,来设定创建索引时每个索引页面的数据填充率,如果没用设定,使用默认值90,:
- 叶子节点中加入的索引元组总大小超过页面大小的90%视为充满
- 内部节点中加入索引元组总大小超过页面大小的70%视为充满
- 分裂节点时,如果该节点为该层的最右节点,必须保证分裂后左节点的空闲空间为(100-填充率)%,否则应保持左右节点空闲空间相等
填充因子设置的原则:
- 取值范围10-100
- 如果是不会改变的表,可设置值为100,这样索引的物理体积最小
- 如果是不断增长的表,则较小的填充因子更合适,这样可以尽可能少的对页进行分裂
以上是关于B-Tree索引的主要内容,如果未能解决你的问题,请参考以下文章