sql 数据库 第九篇 SQL Server 2008索引.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL Server 数据库程序设计 授课教师:姜 姗 第9章 索引 本章学习目标 理解索引的作用和分类; 熟练掌握索引的创建、编辑和删除; 熟练掌握索引的管理方法。 索引的概念 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度通常是最普遍采用的优化方法。 数据库中的索引与书籍中的目录类似。 在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。书中的目录是一个词语列表,其中注明了包含各个词的页码。 在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。而数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。 SQL Server中数据的访问方法: 表扫描法:当访问未建索引的表内数据时,从表的起始处逐行查找,直到符合查询条件为止。 使用索引:当使用索引访问建有索引的表内数据时,系统会通过遍历索引树结构来查找行的存储位置,效率非常高。 索引的作用 通过创建唯一索引,可以增强数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。 索引的注意事项 不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数据进行插入、更新、删除操作的命令所花费的时间会更长。 创建索引所需的工作空间约为数据库表的1.2倍,在建立索引时,数据被复制以便建立索引。索引建立后,旧的未加索引的表被删除,创建索引时使用的硬盘空间由系统自动收回。 在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。 因创建索引要耗一定的系统性能,因此要考察对某列创建索引的必要性。 索引的分类 如果以存储结构来区分,则有“聚集索引”(Clustered Index,也称聚类索引、簇集索引)和“非聚集索引”(Nonclustered Index,也称非聚类索引、非簇集索引)的区别; 如果以数据的唯一性来区别,则有“唯一索引”(Unique Index)和“非唯一索引”(Nonunique Index)的不同; 若以键列的个数来区分,则有“单列索引”与“多列索引”的分别。 1.聚集索引 聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。当以某字段作为关键字建立聚集索引时,表中数据以该字段作为排序根据。因此,一个表只能建立一个聚集索引,但该索引可以包含多个列(组合索引) 2.非聚集索引 非聚集索引完全独立于数据行的结构。数据存储在一个地方,索引存储在另一个地方。非聚集索引中的数据排列顺序并不是表格中数据的排列顺序。 SQL Server默认情况下建立的索引是非聚集索引。一个表可以拥有多个非聚集索引,每个非聚集索引提供访问数据的不同排序顺序。 聚集型索引和非聚集型索引的比较 关于非聚集索引 非聚簇索引提高的存取速度,但降低了表的更新的速度 如果硬盘和内存空间有限,应限制非聚簇索引的使用 修改一个表的数据时,同时要维护索引 3.唯一索引 唯一索引是指索引值必须是唯一的。聚集索引和非聚集索引均可用于强制表内的唯一性,方法是在现有表上创建索引时指定UNIQUE关键字。确保表内唯一性的另一种方法是使用UNIQUE约束。 4.索引视图 对视图创建唯一聚集索引后,结果集将存储在数据库中,就像带有聚集索引的表一样,这样的视图称为索引视图,即是为了实现快速访问而将其结果持续存放于数据库内并创建索引的视图。 索引视图在基础数据不经常更新的情况下效果最佳。维护索引视图的成本可能高于维护表索引的成本。如果基础数据更新频繁,索引视图数据的维护成本就可能超过使用索引视图带来的性能收益。 5.全文索引 全文索引可以对存储在数据库中的文本数据进行快速检索。全文索引是一种特殊类型的基于标记的功能性索引,它是由 SQL Server 全文引擎生成和维护的。 每个表只允许有一个全文索引。 创建索引的方法 1.系统自动创建索引 系统在创建表中的其他对象时可以附带地创建新索引。通常情况下,在创建UNIQUE约束或PRIMARY KEY约束时,SQL Server会自动为这些约束列创建聚集索引。 2.用户创建索引 除了系统自动生成的索引外,也可以根据实际需要,使用对象资源管理器或利用SQL语句中的CREATE INDEX命令直接创建索引。 利用资源管理器创建索引 命令方式创建索引 参数说明如下: CLUSTERED:用于指定创建的索引为聚集索引。 NONC

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档