- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 索引和查询优化 本章概述 数据库管理系统通常使用索引技术加快对表中数据的检索。 索引类似于图书的目录。目录允许用户不必翻阅整本图书就能根据页数迅速找到所需内容。在数据库中,索引也允许数据库应用程序迅速找到表中特定的数据,而不必扫描整个数据库。在图书中,目录是内容和相应页码的列表清单。 在数据库中,索引是表中数据和相应存储位置的列表。 本章将详细研究有关索引和查询优化的内容。 本章的学习目标 索引的优点和缺点 堆的结构特点 聚集索引和非聚集索引的特点 索引的类型 使用CREATE INDEX语句创建索引的方式 索引统计信息的特点和获得方式 查询优化的方式 主要内容 9.1 概述 9.2 索引的类型和特点 9.3 创建索引 9.4 索引维护 9.5 查询优化 9.6 本章小结 9.1 概述 索引是一种与表或视图关联的物理结构,可以用来加快从表或视图中检索数据行的速度。为什么要创建索引呢?这是因为创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。正是因为上述这些原因,所以应该对表增加索引 索引的限制 也许会有人要问增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?虽然索引有许多优点,但是为表中的每一个列都增加索引是非常不明智的做法。这是因为增加索引也有其不利的一面。 第一,创建索引和维护索引要耗费时间。 第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚集索引,那么需要的空间就会更大。 第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 9.2 索引的类型和特点 在Microsoft SQL Server 2005系统中有两种基本的索引类型:聚集索引和非聚集索引。 除此之外,还有唯一性索引、包含性列索引、索引视图、全文索引及XML索引等。 在这些索引类型中,聚集索引和非聚集索引是数据库引擎中索引的基本类型,是理解唯一性索引、包含性列索引、索引视图的基础,本节主要研究这两种索引类型。 另外,为了更好地理解索引结构,有必要对堆结构有所了解。 最后,简单介绍一下系统访问数据的方式。 堆 堆是不含聚集索引的表,表中的数据没有任何的顺序。 堆的信息记录在sys.partitions目录视图中。每一个堆都可能有多个不同的分区,每一个分区都有一个堆结构,每一个分区在sys.partitions目录视图中都有一行,且index_id=0。也就是说,每一个堆都可能有多个堆结构。 堆结构示意图 聚集索引 聚集索引是一种数据表的物理顺序与索引顺序相同的索引,非聚集索引则是一种数据表的物理顺序与索引顺序不相同的索引。 聚集索引的叶级和非叶级构成了一个特殊类型的B树结构。B树结构中的每一页称为一个索引节点。索引的最低级节点是叶级节点。 在一个聚集索引中,某个表的数据页是叶级,在叶级之上的索引页是非叶级。在聚集索引中,页的顺序是有序的。应该在表中经常有哪些信誉好的足球投注网站的列或按照顺序访问的列上创建聚集索引。其中,用于指定聚集索引第一页地址信息的root_page来自sys.system_internal_allocation_units系统视图中。 聚集索引的结构示意图 非聚集索引 非聚集索引与聚集索引具有相同的B树结构,但是在非聚集索引中,基础表的数据行不是按照非聚集键的顺序排序和存储,且非聚集索引的叶级是由索引页而不是由数据页组成。 非聚集索引既可以定义在表或视图的聚集索引上,也可以定义在表或视图的堆上。非聚集索引中的每一个索引行都是由非聚集键值和行定位符组成,该行定位符指向聚集索引或堆中包含该键值的数据行。如果表或视图中没有聚集索引(堆),则行定位符是指向行的指针RID,而RID由文件标识符ID、页码和页上的行数生成。 非聚集索引的结构示意图 其他类型的索引 除了聚集索引和非聚集索引之外,Microsoft SQL Server 2005系统还提供了一些其他类型的索引或索引表现形式,这些内容包括唯一性索引、包含性列索引、索引视图、全文索引和XML索引。 访问数据的方式 第一种方法是表扫描,就是指系统将指针放在该表的表头数据所在的数据页上,然后按照数据页的排列顺序,逐页地从前向后扫描该表数据所占有的全部数据页,直至扫描完表中的全部记录。 第二种方
您可能关注的文档
- SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2ch09.ppt
- SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2ch10.ppt
- 房屋建筑学 教学课件 ppt 作者 叶雁冰 16_第15章 课 程 实 训.ppt
- SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2ch11.ppt
- SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2ch12.ppt
- SQL Server 2008基础教程 教学课件 ppt 作者 978-7-302-23526-2ch01.ppt
- SQL Server 2008基础教程 教学课件 ppt 作者 978-7-302-23526-2ch02.ppt
- SQL Server 2008基础教程 教学课件 ppt 作者 978-7-302-23526-2ch03.ppt
- 房屋建筑学 教学课件 ppt 作者 叶雁冰_ 0.绪论(叶).ppt
- SQL Server 2008基础教程 教学课件 ppt 作者 978-7-302-23526-2ch04.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)