SQL性能优化培训PPT.pptx

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

SQL性能优化 讲师:刘建军 2011-09; SQL 性能优化意义 SQL 优化建议 ;一、 SQL 性能优化意义;2、SQL脚本优化的主要原因 SQL语句是对数据库(数据)进行操作的惟一途径; SQL语句消耗了70%~90%的数据库资源; SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低; SQL语句可以有不同的写法; SQL语句易学,难精通 ;二、 SQL 性能优化建议;2、聚集索引和非聚集索引区别 汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。 您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。 ; ;1. WHERE子句中的连接顺序 SQL SERVER采用自下而上的顺序解析WHERE子句; 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。 ;二、 SQL 性能优化建议;二、 SQL 性能优化建议;讨论:下面三个条件是否查询效率一样? sal 24000/12 sal 2000 sal*12 24000 ;3、用EXISTS替代IN 在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率.;4、用NOT EXISTS替代NOT IN 在子查询中,NOT IN子句将执行一个内部的排序和合并. 无论在哪种情况下,NOT IN都是最低效的 (因为它对子查询中的表执行了一个全表遍历). 为了避免使用NOT IN ,我们可以把它改写成外连接(Outer Joins)或NOT EXISTS. ;5、避免相关子查询 一个字段的标签同时在主查询和where子句中的查询中??现,那么很可能当主查询中的字段值改变之后,子查询必须重新查询一次。 查询嵌套层次越多,效率越低,因此应当尽量避免子查询。 如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。 ;6、避免相关子查询 select hm,rq from TabA   where item IN (select item form TabB where TabB.num=50)  select hm,bf from TabA, TabB    where TabA.item=TabB.item AND TabB.num=50 ;7.优化group by 提高group by语句的效率,可以将不需要的记录在group by之前过滤掉。 例如: 低效:select dzxl, avg(hsje) from report_sale_account group by dzxl having dzxl = ‘000001’ or dzxl =’000002’; 高效: select dzxl, avg(hsje) from report_sale_account where dzxl = ‘000001’ or dzxl =’000002’ group by dzxl; ;二、 SQL 性能优化建议;使用SQL语言完成查询功能,不同的写法会影响到查询效率。其基本原理是尽可能的用到索引,建立了索引并不代表就一定能正确使用,若条件表达不当,则有可能导致无法使用索引。

文档评论(0)

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

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

1亿VIP精品文档

相关文档