SQLServer2008第7章索引与视图
时间:2025-04-20
时间:2025-04-20
第7章 索引与视图
本章的学习目标:
索引的优点和缺点 聚集索引和非聚集索引的特点 索引的类型 视图的概念、特点和类型 使用CREATE VIEW语句创建视图 通过视图修改基表中的数据
7.1 索引概述
通过创建和设计良好的索引进行数据查 询,可以显著提高数据库查询和应用程 序的性能,减少磁盘I/O操作,降低系统 资源的消耗。
7.1.1 索引的基本概念
数据库系统用下列两种方法之一来访问数据:(1)表扫描,就是指系统将指针放在该表的表头数据所在的数 据页上,然后按照数据页的排列顺序,逐页地从前向后扫描 该表数据所占有的全部数据页,直至扫描完表中的全部记录。 在扫描时,如果找到符合查询条件的记录,那么就将这条记 录挑选出来。最后,将全部挑选出来符合查询语句条件的记 录显示出来。 (2)使用索引查找。索引是一种树状结构,其中存储了关键字 和指向包含关键字所在记录的数据页的指针。当使用索引查 找时系统将沿着索引的树状结构,根据索引中关键字和指针 找到符合查询条件的记录。最后将全部查找到的符合查询语 句条件的记录显示出来。
索引是一种与表或视图关联的物理结构, 能提供一种以一列或多列的值为基础迅 速查找表中行的能力,用来加快从表或 视图中检索数据行的速度
7.1.2 索引的分类
在Microsoft SQL Server 2008 R2系统中 有两种基本的索引类型:聚集索引和非 聚集索引。除此之外,还有唯一性索引、 包含性列索引、索引视图、全文索引及 XML索引等。
1.索引文件架构(1)堆文件 堆是不含聚集索引的表,表中的数据没有任何的顺序。 堆结构中数据按照插入的先后次序存放,堆文件的数 据页面不一定在物理上相邻。堆文件执行插入操作很 容易,但是效率不高。 (2) B+树的总体结构 B+树(Balance树,平衡树)是目前广泛采用的动态文 件结构. 在B+树索引中,索引分级组织成一棵树。最上层的索 引节点称为根节点,中间节点按照索引数据量分成不 同的层次。最下层的索引节点称为叶节点。
.聚集索引
聚集索引是一种数据表的物理顺序与索引顺序相同的索引。 建立索引时,系统将对表的物理数据页中的数据按列进行排列, 然后再重新存储到磁盘上,即聚集索引与数据是混为一体的。聚 集索引的叶级和非叶级构成了一个特殊类型的B+树结构. 聚集索引的特点如下: (1)表的数据按照索引的数据顺序排列。 (2)每个数据表只能建立一个聚集索引,并且会在第一个建立, 常常会在主键所在的列或者最常查询的列上建立聚集索引。
(3)索引将占用用户数据库的空间。 (4)适合范围查询。
非聚集索引
非聚集索引是一种数据表的物理顺序与索引顺 序不相同的索引。非聚集索引与聚集索引具有 相同的B树结构,但是在非聚集索引中,基础 表的数据行不是按照非聚集键的顺序排序和存 储,且非聚集索引的叶级是由索引页而不是由 数据页组成。 非聚集索引既可以定义在表或视图的聚集索引 上,也可以定义在表或视图的堆上。
创建一个非聚集索引时,应该注意下列事项:(1)如果没有指定索引类型,那么默认的类型是非聚集索引。 (2)索引页的叶级只包含索引的关键字,不包含实际的数据 (3)每个表最多可以创建249个非聚集索引。 (4)聚集索引应在非聚集索引被创建之前创建。 (5)唯一性是由叶级维护的。 (6)以下情况发生时,SQL Server会自动重建现有的非聚集索 引: 删除现有的聚集索引时 创建聚集索引时 使用DROP_EXISTING选项来改变聚集索引列的定义时
聚集索引上的非聚集索引
当在一个聚集索引上构建非聚集索引时, 索引中的指针值就是数据行的聚集索引 键值。一旦定位到索引值,SQL Server 就使用聚集键导航聚集索引来检索所有 需要的列。
唯一索引
唯一索引是指索引值必须是唯一的,不允许数 据表中具有两行相同的索引值。 聚集索引和非聚集索引是从索引数据存储的角 度来区分的;而唯一索引和非唯一索引是从索 引值来区分的,所以唯一索引和非唯一索引既 可以是聚集索引,也可以是非聚集索引,只要 列中的数据是唯一的,就可以在一张表中创建 一个唯一索引和多个非聚集索引。
7.2 索引的操作7.2.1 创建索引 创建索引的方式可以分为直接方法和间接方法。
直接创建索引的方法就是使用命令和工具直接创建索引。 间接创建索引就是通过创建其他对象而附加创建了索引。
主键约束或唯一性约束创建的索引的优先级高于使用 CREATE INDEX语句创建的索引。当在表上定义主键或 唯一性约束时,如果表中已经有了使用CREATE INDEX 语句创建的标准索引时,那么主键约束或唯一性约束 创建的索引覆盖以前创建的标准索引。
1. 直接使用Microsoft SQL Server Management Studio创建索引。
(1)从“开始”菜单上选择“程序”| Microsoft SQL Server 2008 R2| SQL Server Management Studio命令,使用Windows或 SQL Server身份验证建立连接。 (2)在“对象资源管理器”窗口中,打开要 建立索引的表“业务记录”表,单击前面的 “+”,展开选项,右键单击“索引”项,选择 “新建索引”命令,打开“新建索引”对话框
(3)在“选择页” …… 此处隐藏:2168字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:铜都双语学校导学案流程美