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,这样索引的物理体积最小
- 如果是不断增长的表,则较小的填充因子更合适,这样可以尽可能少的对页进行分裂
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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语句:使用策略模式优化代码结构