数据库原理与应用
第七章索引
1
2
索引的概念
SQL Server 2005中的索引
索引的概念
❁建立索引的目的:加快查询速度,提高数据文件访问效率。
❁缺点:索引是有代价的(时、空)。为了维护索引,对数据进行插入、更新、删除操作所花费的时间会更长。
❁在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。
1、Microsoft SQL Server 支持在表中任何列(包括计算列)上定义的索引。
2、如果一个表没有创建索引,则数据行不按任何特定的顺序存储。这种结构称为堆集。
SQL Server 索引的两种类型为:
聚集索引、非聚集索引
索引的概念
特点:数据文件中的记录按照索引键指定的顺序排序,使得具有相同索引键值的记录在物理上聚集在一起。
一个表只能建立一个聚集索引。
聚集索引
聚集索引结构
1) Microsoft SQL Server 将索引组织为B+树。索引内的每一页包含一个页首,页首后面跟着索引行。
2)聚集索引在sysindexes中标识,字段 indid=1。
3)每个索引行都包含一个键值以及一个指向较低级页或数据行的指针。
聚集索引
4)索引的每个页称为索引节点。
B+树的顶端节点称为根节点。
索引的底层节点称为叶节点。
根和叶之间的任何索引级统称为中间级。
5)同级索引中的页链接在双向链接列表中。
聚集索引的结构
聚集索引
聚集索引适用于:
•大量非重复值的列。
•经常被连续访问的列。
•经常使用联接或 GROUP BY 子句的查询访问的列。
聚集索引
◆聚集索引不适用于:
频繁更改的列
❀特点:1)索引与数据行的存放顺序无关
2)索引作为表的附加信息
3)有利于单行查询,不利于范围查询
❀一个表可以建立多个非聚集索引。
非聚集索引
❀非聚集索引与聚集索引两个重大区别:
(1)数据行不按非聚集索引键的顺序排序和存储。
(2)非聚集索引的叶层不包含数据页。
数据库课件 第七章 索引 来自淘豆网m.daumloan.com转载请标明出处.