03SQL查询优化.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03SQL查询优化

第3 章 SQL查询优化 技能目标 能够通过正确使用索引提高查询效率 能够通过查看执行计划分析查询效率 学会重新组织和生成索引协助数据库完成维护工作 本章重点 通过正确使用索引提高查询效率 通过查看执行计划分析查询效率 本章难点 通过查看执行计划分析查询效率 知识点讲解 查询优化概述 对数据库查询操作进行性能的优化以提供查询效率的行为就称为查询优化 以PPT内容讲解,当走的步数最短,代表的是数据库执行最小的操作次数,以此引出对于查询的优化。以经过最少的堵点,代表的是对硬盘数据进行最少的读取,以此代表需要对硬件进行性能优化。本章重点讲解的是查询优化。 索引的基本原理 索引就是通过对数据表的数据建立类似图书目录和图书馆图书索引卡一样的“数据目录”。 讲解案例:图书馆书集管理引出索引是对查询的一种优化,讲解索引的查询原理。 索引特征 当表中的数据发生变化??时候,变化的数据可能同时涉及索引中定义的列,那么索引中的数据也会产生更变。这样会导致数据变更维护的开销增加。所以,索引的建立应该按需而定,不能盲目 使用索引的时机 数据量越大越适合用索引 选择性越好越适合用索引 数据表数据变化小适合使用索引 创建索引的过程 演示操作 新建索引 为索引命名 选择索引列 完成索引的创建 索引类型 讲解以下概念,并演示不同类型索引的创建操作 聚集索引 聚集索引不是通过表中记录地址来定位到表,索引本身就包含表,表中的数据按照索引字段进行排序 非聚集索引 非聚集索引,是通过索引表中记录地址定位到数据表 组合索引 组合索引,就是包含多个字段的索引 唯一索引 可以确保索引列中不包含重复的值,创建唯一索引减少了查询所需遍历的记录,提高了查询效率 主键索引 在SQL Server中为表定义主键时将自动创建主键索引 主键索引的特征: 主键索引是唯一索引的特殊类型 如果表未创建聚集索引,且在创建主键约束时未指定索引类型,主键约束会自动创建聚集索引 主键索引要求主键中的每个值都是唯一的。 建立索引表 简单讲解索引表的功能,并进行演示 SQL SERVER2005支持建立索引表,将经常出现在查询结果里的字段包含到索引里。这样根据索引字段查询的时候,不需要二次定位可以直接定位的数据。 小结 总结索引的功能类型,并使学员加强对索引的理解 查询优化的常见方法有哪些? 请说出使用索引的时机,即什么情况下使用索引?什么情况下不使用索引? 索引的常见类型有哪些? 建立索引表的目的是什么? 使用索引 简介以下四个部分 执行计划 客户端统计 使用索引的查询语句的写法 强制使用指定的索引 执行计划 执行计划的作用 执行计划可以是根据SQL Server查询优化器估算的计划,不需要查询语句真正执行,减少数据库负荷 使用执行计划的方式 不实际执行,只估算出执行计划 实际执行SQL语句后,根据实际情况总结出执行计划 讲解seek查找与scan扫描区别 执行计划的作用和相关概念的解释:查询优化首先要能知道查询语句是否使用了索引。在SQL SERVER里使用执行计划来查看查询语句的“执行路径”,从执行路径里可以使用图标方式看到查询语句执行步骤,每一步是否使用索引查找(seek)还是扫描(scan),用到什么索引。重要的是,执行计划可以是根据SQL SERVER查询优化器估算的计划,不需要查询语句的真正执行。在实际的工作中,先使用执行计划来判断查询语句是否按照预想的执行,然后再真正的加载数据进行测试。 演示使用执行计划 .第一种方式主要应用于数据量非常的大,不可能实际执行.会耗费到大量的时间.所以采用估算的方式来进行.而第二种方式就是用于数据量比较小的情况.可以采用实际执行的方式来查看.无论哪种方式都是要根据具体的需要来确定的. 客户端统计 客户端统计信息功能获取查询后的实际花销信息,与查询计划一起配合使用分析查询效率更加方便有效 实施方法: 选择客户统计信息按钮 输入SQL语句 选择执行计划的全局效果图 查看显示的执行计划 查看执行计划图 查看节点内容 使用索引的查询语句的写法 查询语句使用索引的最基本要求就是要以索引字段为查询条件 使用查询语句的注意事项: 演示并讲解以下索引规则 查找条件中不要将字段进行运算 LIKE模糊查询字段的通配符是第一个字符,查询不会使用索引 查询条件使用not或者!=操作符时,查询不会使用索引 使用组合索引,查询条件必须包含组合索引里第一个索引字段 如果查询结果字段与查询条件的字段总是成对出现,建议使用索引表查询 查询结果数据大于全部数据20%以上时,数据库不会使用索引 强制使用指定索引 案例讲解并演示:PRODUCTION.WORKORDER表上有两个索引: 索引1:IX_Workorder_StartdateEnddate(包含字段Startdate,Endd

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档