sql 2005教程 第15章 索引和查询优化.ppt

上传人:s****8 文档编号:67235155 上传时间:2022-12-24 格式:PPT 页数:23 大小:287.50KB
返回 下载 相关 举报
sql 2005教程 第15章 索引和查询优化.ppt_第1页
第1页 / 共23页
sql 2005教程 第15章 索引和查询优化.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《sql 2005教程 第15章 索引和查询优化.ppt》由会员分享,可在线阅读,更多相关《sql 2005教程 第15章 索引和查询优化.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第15章 索引和查询优化索引提供对数据的快速访问,用于减轻搜索数据库的压力。SQL Server 2005数据库提供了丰富的索引类型,以优化查询操作。本章就索引的创建与使用进行说明,并列举索引的常用维护操作,从而实现索引的优化。15.1 索引概述索引是与表或视图关联的磁盘上数据结构,它可以加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个称为B树的数据结构中,使SQL Server数据库可以快速有效地查找与键值相关联的行。15.1.1 聚集索引和非聚集索引SQL Server 2005数据库的索引分为聚集索引和非聚集索引,其数据结构的组织形式不同,具体描述

2、请参考如下说明。聚集索引,聚集索引根据数据行的键值在表或视图中排序和存储这些数据行。索引定义中包含聚集索引列。非聚集索引,非聚集索引具有独立于数据行的结构。非聚集索引包含非聚集索引键值,并且每个键值项都有指向包含该键值的数据行的指针。15.1.2 填充因子提供填充因子选项是为了优化索引数据存储和性能。当创建或重新生成索引时,填充因子值可确定每个叶级页上要填充数据的空间百分比,以便保留一定百分比的可用空间供以后扩展索引。15.1.3 使用目录视图查看索引用户可以使用目录视图查看索引的相关信息,(具体内容请参照书。)15.2 用CREATE INDEX语句创建索引本书第四章讲述了使用SQL Ser

3、ver Management Studio图形工具,如表设计器等创建索引的过程,本节,详细介绍使用CREATE INDEX语句创建索引的步骤,并列举示例进行说明。15.2.1 基本语法(具体内容请参照书。)15.2.2 创建简单的复合索引示例:以下示例在15.2.1节建立的数据表的基础上,建立由col1和col2的多个字段构成的索引,具体操作可能参考如下步骤。15.2.3 创建唯一索引示例:以下示例在15.2.1节建立的数据表的基础上,使用CREATE UNIQUE INDEX建立唯一索引,具体操作可能参考如下步骤。(具体内容请参照书。)15.2.4 创建聚集索引每个表都应该有聚集索引,聚集索

4、引可以按需重新生成或重新组织来控制表的物理碎片。聚集索引一般按主键约束和UNIQUE约束的方式实现。在创建主键约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动对一列或多列创建唯一聚集索引。主键列不允许空值。在创建UNIQUE约束时,默认情况下将创建唯一非聚集索引,以便强制UNIQUE约束。如果不存在该表的聚集索引,则可以指定唯一聚集索引。15.2.5 指定索引存放的文件组用户也可以指定将索引存放的位置,这样有助管理存储的物理策略。(具体内容请参照书。)15.3 用ALTER INDEX语句修改索引使用ALTER INDEX,通过禁用、重新生成或重新组织索引,或通过设置索引的相关

5、选项,修改现有的表索引或视图索引。本节将介绍ALATER INDEX的语法,并根据使用示例说明。15.3.1 基本语法使用ALTER INDEX创建索引的语法结构如下所示。(具体内容请参照书。)15.3.2 设置索引的选项(具体内容请参照书。)15.3.3 禁用/启用索引和约束一样,在进行一些操作的时候,用户可能希望禁用和启用索引操作。禁用索引可防止用户访问该索引,对于聚集索引,还可防止用户访问基础表数据。(具体内容请参照书。)15.4 用DROP INDEX语句删除索引删除非聚集索引时,将从元数据中删除索引定义,并从数据库文件中删除索引数据页。删除聚集索引时,将从元数据中删除索引定义,并且存

6、储于聚集索引叶级别的数据行将存储到生成的未排序表中。将重新获得以前由索引占有的所有空间。15.4.1 基本语法本节讲述使用DROP INDEX删除索引的功能。(具体内容请参照书。)15.4.2 使用DROP INDEX删除聚集索引并将表移动到新文件组以下示例使用MOVE TO子句联机删除一个聚集索引,并将生成表移动到文件组GROUP2。在移动之前和之后,将查询sys.indexes、sys.tables和sys.filegroups目录视图,以验证索引和表在文件组中的位置。(具体内容请参照书。)15.4.3 使用DROP INDEX删除PRIMARY KEY约束在已经创建了PRIMARY KE

7、Y或UNIQUE约束的数据库中,创建的索引不能使用DROP INDEX来删除,可以使用ALTER TABLE DROP CONSTRAINT语句删除该约束。15.5 重新组织和重新生成索引索引由于数据的添加、删除、修改等操作,会产生碎片,这样的状态将影响数据表的操作效率,SQL Server 2005数据库提供了重新生成索引的方式,本节讨论重新构建索引。15.5.1 理解重新组织、生成索引无论何时对基础数据执行插入、更新或删除操作,SQL Server 2005数据库引擎都会自动维护索引。随着时间的推移,这些修改可能会导致索引中的信息分散在数据库中。当索引包含的页中的逻辑排序与数据文件中的物理

8、排序不匹配时,就存在碎片。碎片非常多的索引可能会降低查询性能,导致应用程序响应缓慢。在SQL Server 2005数据库中,用户可以通过重新组织索引或重新生成索引来修复索引碎片。15.5.2 重新组织索引重新组织索引是通过对叶页进行物理重新排序,使其与叶节点的逻辑顺序相匹配,从而对表或视图的聚集索引和非聚集索引的叶级别进行碎片整理,使页有序可以提高索引扫描的性能。15.5.3 重新生成索引重新生成索引将删除该索引并创建一个新索引。此过程中将删除碎片,通过使用指定的或现有的填充因子设置压缩页来回收磁盘空间,并在连续页中对索引行重新排序。这样可以减少获取所请求数据所需的页读取数,从而提高磁盘性能。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁