5索引的创建和使用分析.ppt

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

第5章 索引的创建与使用 本章主要介绍索引,包括索引的概念、索引的建立、删除、分析与维护等。 通过本章的学习,应掌握建立或者删除索引的方法,能够使用索引优化数据库查询。 主要内容 5.1 索引概述 在数据库中包含了一个用于对表中的记录按需排序,从而可以优化查询的特殊对象——索引。 索引是一个与表或视图相关联的磁盘结构,可以加快从表或视图中检索行的速度。 在表中索引的支持下,SQL Server数据库引擎优化顾问可以找出并使用正确的索引来优化对数据的访问。 如果没有索引,数据库引擎优化顾问 只有一个选择,那就是对表中的数据进行全部扫描以找出要找的数据行。 数据库中的索引是由表中的一列或多列字段值以及相应的指向表中物理标识这些值的数据页的逻辑指针构成的。 5.1.1 为什么要创建索引 使用索引的好处: 帮助用户提高查询速度 保证数据记录的唯一性 加速表与表之间的连接 表中如果使用ORDER BY和GROUP BY命令进行数据检索时,可以明显地降低查询中分组和排序的时间 建立索引的原则 建立索引参照以下原则: 在经常检索的列上创建索引(如经常在where子句中出现的列)。 在表的主键、外键上创建索引。 在经常用于表间连接的字段上建立索引。 一般而言,如下情况的列不考虑在其上创建索引: 在查询中几乎不涉及的列。 很少有唯一值的列(即包含太多重复值得列,如性别字段)。 数据类型为text、ntext或image的列。 只有较少行数的表没有必要创建索引。 当写的性能比查询更重要时,应少建或不建索引。 5.1.2 索引的分类 SQL Server 2005 中常用的索引类型 : 聚集索引 CLUSTERED 非聚集索引 NONCLUSTERED 唯一索引和非唯一索引 单字段索引和复合索引 视图索引 全文索引 XML索引 聚集索引 聚集索引:将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。一个表只能创建一个聚集索引 。 下列情况时可以考虑创建聚集索引: 唯一或包含许多不重复的值。 需要按顺序被访问。 需要保证列在表中的唯一性。 经常用于对表中检索到的数据进行排序。 非聚集索引 非聚集索引 :非聚集索引与表中数据行的物理存储结构无关,因此在创建非聚集索引时不会改变数据表中记录的物理存储顺序。 每个表的非聚集索引最多为249个。 下列情况时可以考虑创建非聚集索引: 使用 JOIN 或 GROUP BY 子句。 应为连接和分组操作中所涉及的列创建多个非聚集索引。 不返回大型结果集的查询。 经常包含在查询中的搜索条件的列。 唯一索引 唯一索引:确保索引键不包含重复的值。 聚集索引和非聚集索引都可以是唯一索引。 可以创建基于单个字段的唯一索引,也可以对多个字段创建唯一索引。此时要求多个字段的组合取值不能重复,但对其中某个单独字段的取值可以重复。 建立唯一索引的字段最好不允许为空(NOT NULL) 复合索引 复合索引:在对数据表创建索引时,有时创建基于单个字段的索引不能满足查询要求,这时需要对表创建多个字段的索引,这样的索引称为复合索引。 在SQL SERVER系统中一个复合索引中包含的字段最多是16个,并且要求这些字段都属于一个表。 索引视图 索引视图:与表类似,可以在视图上创建索引。默认情况下,视图是非索引的。如果视图基表的数据量很大,并且不常被更新,而在查询中频繁地引用这类视图,可通过对视图创建唯一聚集索引来提高性能。 当在视图上创建索引时,必须首先创建一个唯一的聚集索引,创建聚集索引后,可以为视图添加非聚集索引。 全文索引 全文索引:一种特殊类型的基于标记的功能性索引,由Microsoft SQL Server全文引擎 (MSFTESQL)服务创建和维护。用于帮助在字符串数据中搜索复杂的词。 全文索引的创建过程与创建其他类型的索引差别很大,是基于要索引的文本中的各个标记来创建倒排、堆积且压缩的索引结构。在SQL Server2005中,默认是禁止全文索引的,需要时可激活。 XML索引 XML索引:当一个查询是基于XML数据类型列时,为了提高查询速度,SQL Server 2005允许在XML数据类型的列上创建索引,这种索引称为XML索引。 XML 索引分为两种类型:主 XML 索引和辅助 XML 索引。 在XML数据类型列上创建的第一个索引必须是主 XML 索引。 5.2 创建索引 创建索引可以是自动创建和手工创建: 使用CREATE TABLE 或ALTER TABLE 命令对列定义PRIMARY KEY 或 UNIQUE 约束时系统自动创建索引。以满足强制实施PRIMARY KEY和UNIQUE约束的唯一性要求。 如果需要创建不依赖于约束的索引

文档评论(0)

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

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

1亿VIP精品文档

相关文档