第15章索引和查询优化.ppt

第15章索引和查询优化.ppt

ID:60741458

大小:287.50 KB

页数:23页

时间:2020-02-02

第15章索引和查询优化.ppt_第1页
第15章索引和查询优化.ppt_第2页
第15章索引和查询优化.ppt_第3页
第15章索引和查询优化.ppt_第4页
第15章索引和查询优化.ppt_第5页
资源描述:

《第15章索引和查询优化.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、的索引分为聚集索引和非聚集索引,其数据结构的组织形式不同,具体描述请参考如下说明。聚集索引,聚集索引根据数据行的键值在表或视图中排序和存储这些数据行。索引定义中包含聚集索引列。非聚集索引,非聚集索引具有独立于数据行的结构。非聚集索引包含非聚集索引键值,并且每个键值项都有指向包含该键值的数据行的指针。15.1.2填充因子提供填充因子选项是为了优化索引数据存储和性能。当创建或重新生成索引时,填充因子值可确定每个叶级页上要填充数据的空间百分比,以便保留一定百分比的可用空间供以后扩展索引。15.1.3使用目录视图查看索引

3、用户可以使用目录视图查看索引的相关信息,(具体内容请参照书。)15.2用CREATEINDEX语句创建索引本书第四章讲述了使用SQLServerManagementStudio图形工具,如表设计器等创建索引的过程,本节,详细介绍使用CREATEINDEX语句创建索引的步骤,并列举示例进行说明。15.2.1基本语法(具体内容请参照书。)15.2.2创建简单的复合索引示例:以下示例在15.2.1节建立的数据表的基础上,建立由col1和col2的多个字段构成的索引,具体操作可能参考如下步骤。15.2.3创建唯一索引示例

4、:以下示例在15.2.1节建立的数据表的基础上,使用CREATEUNIQUEINDEX建立唯一索引,具体操作可能参考如下步骤。(具体内容请参照书。)15.2.4创建聚集索引每个表都应该有聚集索引,聚集索引可以按需重新生成或重新组织来控制表的物理碎片。聚集索引一般按主键约束和UNIQUE约束的方式实现。在创建主键约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动对一列或多列创建唯一聚集索引。主键列不允许空值。在创建UNIQUE约束时,默认情况下将创建唯一非聚集索引,以便强制UNIQUE约束。如果不存在

5、该表的聚集索引,则可以指定唯一聚集索引。15.2.5指定索引存放的文件组用户也可以指定将索引存放的位置,这样有助管理存储的物理策略。(具体内容请参照书。)15.3用ALTERINDEX语句修改索引使用ALTERINDEX,通过禁用、重新生成或重新组织索引,或通过设置索引的相关选项,修改现有的表索引或视图索引。本节将介绍ALATERINDEX的语法,并根据使用示例说明。15.3.1基本语法使用ALTERINDEX创建索引的语法结构如下所示。(具体内容请参照书。)15.3.2设置索引的选项(具体内容请参照书。)15.

6、3.3禁用/启用索引和约束一样,在进行一些操作的时候,用户可能希望禁用和启用索引操作。禁用索引可防止用户访问该索引,对于聚集索引,还可防止用户访问基础表数据。(具体内容请参照书。)15.4用DROPINDEX语句删除索引删除非聚集索引时,将从元数据中删除索引定义,并从数据库文件中删除索引数据页。删除聚集索引时,将从元数据中删除索引定义,并且存储于聚集索引叶级别的数据行将存储到生成的未排序表中。将重新获得以前由索引占有的所有空间。15.4.1基本语法本节讲述使用DROPINDEX删除索引的功能。(具体内容请参照书。

7、)15.4.2使用DROPINDEX删除聚集索引并将表移动到新文件组以下示例使用MOVETO子句联机删除一个聚集索引,并将生成表移动到文件组GROUP2。在移动之前和之后,将查询sys.indexes、sys.tables和sys.filegroups目录视图,以验证索引和表在文件组中的位置。(具体内容请参照书。)15.4.3使用DROPINDEX删除PRIMARYKEY约束在已经创建了PRIMARYKEY或UNIQUE约束的数据库中,创建的索引不能使用DROPINDEX来删除,可以使用ALTERTABLEDRO

8、PCONSTRAINT语句删除该约束。15.5重新组织和重新生成索引索引由于数据的添加、删除、修改等操作,会产生碎片,这样的状态将影响数据表的操作效率,SQLServer2005数据库提供了重新生成索引的方式,本节讨论重新构建索引。15.5.1理解重新组织、生成索引无论何时对基础数据执行插入、更新或删除操作,SQLServer2005数据库引擎都会自动维护索引。随着时间的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。