编程就是这个样子

学的老,活到老
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2010-06-08 17:10  寿  阅读(5088)  评论(0编辑  收藏  举报

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

a)          什么是索引

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

b)         建立索引的好处:

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

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

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

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

c)          索引的存储

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

B树的简单结构:

 

 

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

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