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,这样索引的物理体积最小
  • 如果是不断增长的表,则较小的填充因子更合适,这样可以尽可能少的对页进行分裂

 

posted @   foreast  阅读(100)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示