开发人员对数据库性能优化的深入理解.pptx

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

开发人员对数据库性能优化的深入理解易车网 王泊 /brantwong提纲性能问题的出现性能问题的定位性能问题的分析、解决性能问题的出现开发人员对数据库性能优化的深入理解性能问题的出现访问量过多SQL语句性能差业务复杂硬件问题性能问题的定位开发人员对数据库性能优化的深入理解性能问题的定位来源IO(set statistics IO on)逻辑读取物理读取CPU(set statistics time on)编译时间执行时间性能问题的定位逻辑读取查询所需访问从缓存区页的次数物理读取从磁盘读取的页数性能问题的定位编译时间执行时间set statistics time on性能问题的分析开发人员对数据库性能优化的深入理解执行计划SQL语句被编译成执行计划迭代器内存消耗分类、哈希聚合、哈希链接非阻断迭代器与阻断迭代器计划缓存和重编译计划缓存即席查询自动化参数预定义查询,使用sp_executesql或API存储过程或其他编译对象(触发器、TVF等等)索引结构聚集索引一表一个非聚集索引一表多个扫描和查找扫描查找堆表扫描聚集索引聚集索引扫描聚集索引查找非聚集索引索引扫描索引查找索引覆盖查询(单列)可覆盖Col=1Col100Col BETWEEN 1 AND 10Col like ‘100%’Col IN (2,6,7,9)不可覆盖ABS(Col)=1Col+1=9Col like ‘%abc’索引覆盖查询(多列)查找命中Col1=1 and Col2=2Col1=1 and Col24剩余谓词Col1100 and Col2=2Col1 like ‘abc%’ and Col2=4查找未命中Col2=2Col1+1=9 and Col2 Between 1 and 9Col1like ‘%abc’ and Col2 in (1,2,3)索引覆盖查询(多列)关键列已覆盖列书签查找输出列决定书签查找索引查找聚集索引查找(RID查找)INNER JOIN连接嵌套循环合并连接哈希连接嵌套循环(内连接)For each row R1 in the outer tableFor each row R2 in the inner tableIf R1 joins with R2Return (R1,R2)嵌套循环(外连接)For each row R1 in the outer tableBeginFor each row R2 in the inner tableIf R1 joins with R2Output(R1,R2)If R1 did not joinOutput(R1,null)End合并连接Get first row R1 from input 1Get first row R2 from input 2While not at the end of either inputBeginIf R1 JOINS WITH R2BEGINOUTPUT(R1,R2)GET NEXT ROW R2 FORM R2EndElse if R1R2Get next row R1 from input 1ElseGet next row R2 from input 2End哈希连接For each row R1 in the build tableBeginCalculate hash value on R1 join keysInsert R1 into the appropriate hash bucketEndFor each row R2 in the probe tableBeginCalculate hash value on R2 join keysFor each row R1 in the corresponding hash bucket if R1 join with R2 Output (R1,R2)End连接特点对比嵌套循环合并连接哈希连接最佳用于相对小的输入,同时又索引在内表的连接键上中大型输入,同时有索引在等值连接键上提供排序或者在连接后排序数据仓库需要中型或大型输入,可扩展的并发执行并发性支持大的并发有索引提供排序支持大并发小并发阻断和继续否否是需要等值否是是外连接 半连接只有左链接全部全部使用tempdb否是(对多对多)是需要排序否是否保留排序是(只对于外输入)是否支持游标是否否聚合聚合函数聚合种类流聚合哈希聚合聚合聚合函数COUNTSUMAVGMINMAX流聚合Clear the current aggregate resultsClear the current group by columnsFor each input rowIf the input row does not match the current

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档