编程就是这个样子

学的老,活到老
随笔 - 8, 文章 - 4, 评论 - 10, 阅读 - 34417
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

数据库索引技术—索引介绍 (一)

Posted on   寿  阅读(5097)  评论(0编辑  收藏  举报

1.    什么是索引和建立索引的好处

a)          什么是索引

在数据库中,索引的含义与日常意义上的“索引”一词并无多大区别,与书中的索引一样,数据库中的索引使您可以快速找到表中的特定信息。索引包含从表中一个或多个列生成的键,以及映射到指定数据的存储位置的指针,也就是说索引由键 指针组成。它是用于提高数据库表数据访问速度的数据库对象。

b)         建立索引的好处:

1.       索引可以避免全表扫描。多数查询可以仅扫描少量索引页及数据页,而不是遍历所有数据页。

2.       对于非聚集索引,有些查询甚至可以不访问数据页。如字典的目录就可以查到所有拼音第一字母为z 的所有字。

3.       聚集索引可以避免数据插入操作集中于表的最后一个数据页。

4.       一些情况下,索引还可用于避免排序操作。

c)          索引的存储

索引包含由表中的一列或多列生成的键。这些键存储在一个结构(B 树)中,不同于二叉树。同一个分支下有一个或多个子节点。

B树的简单结构:

 

 

(从图可见,当我们插入关键字4时,由于原结点已经满了,故进行分裂,基本按一半的原则进行分裂,然后取出中间的关键字2,升级(这里是成为根结点)。其它的依类推,就是这样一个大概的过程。)

一条索引记录中包含的基本信息包括:键值 + 逻辑指针。

 

 

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示