第8章--索引的创建和使用.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第8章索引的创建和使用本章学习目标了解索引的概念了解索引的优点掌握索引的分类掌握创建、修改和删除索引的方法8.1概述8.1.1索引的概念在数据库中,如果想在某个表中快速查找满足条件的记录,可以创建索引。索引可以使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。创建索引可以加快从表或视图中检索数据的速度。索引包含由表或视图中的一列或多列生成的键。8.1.1索引的概念当SQLServer进行数据查询时,查询优化器会自动计算现有的几种执行查询方案中,哪种方案的开销最小,速度最快,然后SQLServer就会按照该方案来查询。所以,可以通过高效的有序查找算法(如折半查找等)找到索引项,再根据索引项中记录的物理地址,找到查询结果的存储位置。8.1.2索引的优点使用索引可以大大提高系统的性能,其具体表现在:可以大大加快数据检索速度。通过创建唯一索引,可以保证数据记录的唯一性。在使用ORDERBY和GROUPBY子句进行检索数据时,可以显著减少查询中分组和排序的时间。使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。可以加速表与表之间的连接。8.1.2索引的优点建立索引的一般原则是:对经常用来检索的字段建立索引。对数据表中的主键建立索引。对数据表中的外键建立索引。对经常用于连接的字段建立索引。8.1.3索引的分类在SQLServer2005中提供的索引类型主要有以下几类:聚集索引、非聚集索引、唯一索引、包含性列索引、索引视图、全文索引以及XML索引。聚集索引和非聚集索引按照存储结构的不同,可以将索引分为两类:聚集索引和非聚集索引。每个表最多可以有1个聚集索引和249个非聚集索引。其中包括为支持表中所定义的PRIMARYKEY和UNIQUE约束而生成的索引。8.1.3索引的分类1、聚集索引聚集索引对表在物理数据页中的数据按列进行排序,然后再重新存储到磁盘上。一个表只能有一个聚集索引。用聚集索引查找数据很快。聚集索引一般创建在表中经常有哪些信誉好的足球投注网站的列或者按顺序访问的列上。8.1.3索引的分类创建聚集索引时应该考虑以下几个因素:每个表只能有一个聚集索引。创建任何非聚集索引之前要首先创建聚集索引。关键值的唯一性使用UNIQUE关键字或者由内部的唯一标识符明确维护。要保证有足够的空间创建聚集索引。8.1.3索引的分类2、非聚集索引:使用非聚集索引不会影响数据表中记录的实际存储顺序。非聚集索引中存储了组成非聚集索引的关键字值和行定位器。由于非聚集索引使用索引页存储,因此它比聚集索引需要较少的存储空间,但检索效率比聚集索引低。由于一个表只能建一个聚集索引,当用户需要建立多个索引时,就需要使用非聚集索引了。每个表中最多只能创建249个非聚集索引。8.1.3索引的分类在下列情况下,可以考虑使用非聚集索引:含有大量唯一值的字段。返回很小的或者单行结果集的检索。使用ORDERBY子句的查询。8.1.3索引的分类3、唯一索引如果要求索引中的字段值不能重复,可以建立唯一索引。创建唯一索引时,对于具有单个字段的索引,要求这个字段中的各个值不能重复。也可以对多个字段的组合创建索引,索引中包含多个字段的复合索引也可以是唯一索引,多个字段的组合取值不能重复。注意:一个索引中最多可以包含16个字段的组合,并且索引中的所有字段必须属于同一个数据表。4、主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空.

?XML索引:XML列的主XML索引在该列中XML实例的所有标记、值和路径上都创建一个B+Tree索引。通过这种方式,可以有效地对XML数据中的查询进行求值,并且在保留文档顺序和文档结构的同时从B+Tree重新组合XML结果。MicrosoftSQLServer和其它的一些关系型数据库就是使用B+Tree来构造索引的。我们可以给XML列创建主索引,非主索引和全文索引。然后我们就可以像查询数据库中的表一样高效的查询XML中的数据了。8.2创建索引在SQLServer2005中,索引可以由系统自动创建,也可以由用户手工创建。系统在创建表中的其他对象时可以附带地创建新索引,例如新建表时,如果创建主键或者唯一性约束,系统会自动创建相应的索引。8.2创建索引例8-2-1:在STUDENT数据库中创建一个新表T_DEPARTMENT,并将其中的D_NAME字段设置为聚集的唯一索引。USESTUDENTGOCREATETABLET

文档评论(0)

177****7891 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档