- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 Server2000数据库及应用李伟红电子教案 第2章 数据库的创建和管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第3章 数据表的创建和管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第4章 数据完整性的设计与实现.ppt
- SQL Server2000数据库及应用李伟红电子教案 第5章 索引的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第6章 视图的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第7章 Transact SQL语言.ppt
- SQL Server2000数据库及应用李伟红电子教案 第8章 存储过程和触发器的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第9章 事务和锁的使用与管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第10章 SQL Server 2000的安全性管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第11章 SQL Server 2000数据转换.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch10.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch11.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch12.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch13.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch14.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch15.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch16.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch17.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch18.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch19.ppt
最近下载
- 《第5课 共同保卫伟大祖国》课件_初中道德与法治_七年级全一册_中华民族大团结.pptx VIP
- h3cloud云学堂故障处理手册.pdf VIP
- 2025-2026学年重庆市巴蜀中学学堂班八年级(上)选拔数学试卷(含答案).pdf VIP
- 第5课 共同保卫伟大祖国 课件中华民族大团结.ppt VIP
- GB50819-2013 油气田集输管道施工规范.pdf VIP
- 沥青混凝土面层工程检验批质量验收记录表.doc VIP
- 人教PEP版四年级英语下册 《Weather》Part A PPT课件(第1课时) .ppt VIP
- 《文化的继承与创新》课件.ppt VIP
- 百冠公司成品仓库仓储货位优化研究.docx
- 2024光伏连接器技术标准.docx VIP
文档评论(0)