- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?第 7 章 索 引 及 其 应 用 7.1 索 引 概 述 7.2 创 建 索 引 7.3 管理和维护索引 通过本章的学习,读者应该掌握以下内容: ? 索引的作用 ? 规划和维护索引 7.1 索 引 概 述 索引是一个在表上或视图上创建的独立的物理数据库结构,在视图上创建索引只能针对架构绑定的视图。所以我们所讲的主要是针对表上的索引。 7.1.1 SQL Server 中数据的存储与访问 1.数据的存储 在SQL Server中,数据存储的基本单位是页。SQL Server 2000中,页的大小是8KB。每页的开始部分是96个字节的页首,用于存储系统信息,如页的类型、页的可用容量、拥有页的对象ID等。 2.数据的访问 SQL Server 提供了两种数据访问的方法。 (1)表扫描法 在没有建立索引的表内进行数据访问时,SQL Server通过表扫描法来获取所需要的数据。当SQL Server执行表扫描时,它从表的第一行开始进行逐行查找,直到找到符合查询条件的行。 (2)索引法 在建有索引的表内进行数据访问时,SQL Server通过使用索引来获取所需要的数据。当SQL Server使用索引时,它会通过遍历索引树来查找所需行的存储位值,并通过查找的结果提取所需的行。 7.1.2 索引的作用 创建索引的好处主要有以下两点。 (1)加快数据查询 (2)加快表的连接、排序和分组工作 创建索引也有它的不足,如下所述。 (1)创建索引需要占用数据空间和时间 (2)建立索引会减慢数据修改的速度 7.1.3 索引的分类 按照索引值的特点分类,可以将索引分为惟一索引和非惟一索引;按照索引结构的特点分类,可以将索引分为聚集索引和非聚集索引。 1.惟一索引和非惟一索引 惟一索引要求所有数据行中任意两行中的被索引列或索引列组合不能存在重复值,包括不能有两个空值NULL,而非惟一索引则不存在这样的限制。 2.聚集索引和非聚集索引 聚集索引会对表进行物理排序,所以这种索引对查询非常有效。表中只能有一个聚集索引。当建立主键约束时,如果表中没有聚集索引,SQL Server会用主键列作为聚集索引键。 非聚集索引不会对表进行物理排序。 7.2 创 建 索 引 索引可以在创建表的约束时由系统自动创建,也可以通过企业管理器或CREATE INDEX语句来创建。 7.2.1 系统自动创建索引 在创建或修改表时,如果添加了一个主键或惟一键约束,则系统将自动在该表上,以该键值作为索引列,创建一个惟一索引。 7.2.2 在图形界面下创建索引 在企业管理器的表设计器下建立和修改索引很便捷,这里通过实例说明其使用方法。 7.2.3 使用CREATE INDEX语句创建索引 创建索引命令常用格式如下。 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX 索引名ON 表名 (字段名[,…n]) [WITH [索引选项 [,…n] ] [ON 文件组] 7.3 管理和维护索引 7.3.1 查看和修改索引信息 可以使用企业管理器查看、修改索引的定义,或者使用sp_helpindex系统存储过程或有关表上的索引信息。 7.3.2 删除索引 1.使用企业管理器删除索引 2.使用Transact-SQL语句删除索引 删除索引命令常用格式如下。 DROP INDEX 表名.索引名[,…n] 7.3.3 索引的分析与维护 1.索引的分析 (1)显示查询计划 SQL Server提供了两种显示查询中的数据处理步骤以及如何访问数据的方式。 ① 以图形方式显示执行计划 ② 以表格方式显示执行计划 通过在查询语句中设置SHOWPLAN选项,我们可以选择是否让SQL Server显示查询计划。 设置是否显示查询计划的命令为: SET SHOWPLAN_ALL ON|OFF 或 SET SHOWPLAN_TEXT ON|OFF 2.索引的维护 在创建索引后,为了得到最佳的性能,必须对索引进行维护。因为随着时间的推移,用户需要在数据库上进行插入、更新和删除等一系列操作,这将使数据变得支离破碎,从而造成索引性能的下降。 (1)统计信息更新 在企业管理器中通过设置数据库的属性决定是否实现统计的自动更新。 使用UPDATE STATISTICS命令更新“客户信息”表主键索引的统计信息。 (2)使用DBCC SHOWCONTIG语句扫描表 对表进行数据操作可能会导致表碎片,而表碎片会导致额外的页读取,从而造成数据库查询性能的降低。此时用户可以通过使用DBCC SHOWCONTIG语句来扫描表,并通过其返回值确定该
您可能关注的文档
- 计算机组装与维修项目教程课件作者葛勇平课件模块二B项目二十二.ppt
- 世界现代艺术设计史彩印课件作者方怿2新艺术运动.ppt
- 世界现代艺术设计史彩印课件作者方怿3装饰艺术运动.ppt
- 数据库实验指导第2版普通高等教育“十一五”国家级规划教材课件作者杨海霞第2章节管理与维护表.ppt
- 数据库实验指导第2版普通高等教育“十一五”国家级规划教材课件作者杨海霞第3章节查询 视图和索引.ppt
- 数据库实验指导第2版普通高等教育“十一五”国家级规划教材课件作者杨海霞第4章节数据库设计.ppt
- 计算机组装与维修项目教程课件作者葛勇平课件模块二B项目十八.ppt
- 数据库实验指导第2版普通高等教育“十一五”国家级规划教材课件作者杨海霞第5章节SQL程序设计与开发.ppt
- 数据库实验指导第2版普通高等教育“十一五”国家级规划教材课件作者杨海霞第6章节管理数据库.ppt
- 计算机组装与维修项目教程课件作者葛勇平课件模块二B项目十四.ppt
文档评论(0)