看一眼就能优化的SQL,而且还能秒杀,是需要纪念下的。

好久没有写博客了,  2017已经过去,总结这一年主要做SQL优化了, 那好吧,写一个印象比较深刻的写下吧。

其实SQl优化就那么回事, 开发看起来,很神奇, 简单动动几笔,SQl速度提升几倍, 十几倍。

好吧, 我对这个案例尤为深刻,  效率提升 2万倍。。。。。  所以这一年中比较深刻的,  

SQL: 

SELECT COUNT(*)

  FROM  V_ZZS_QB_DKL t

 WHERE FPHM >= '330014214015007634'

   AND FPHM <= '330014214015007635'

   AND QXSWJG_DM = '132021700'

 ORDER BY FPHM ASC;

SQl简单倒是很简单,只是SQl不太规范。  

   

SQl 执行 2000S,

 执行计划:

大家凑合着看吧, 9i 的执行计划, 没有谓词信息, 如果有经验的人一眼就能瞅出端倪。反正此时我看到这边基本上

差不多知道了。

于是毫不犹豫的改写SQl, 得到效果, 此时我一惊,见效快啊....    秒杀。。。  

月风先生 说过素为随缘, 希望看到的人思考下, 为啥见效如此之快,这个到底是怎么回事,造成如此大的差距,另外在关键处我已经用红框圈出来了。 关键处在于 ORDER By 的地方, 就说道这边吧, 如果你没有看到关键点,证明你还要修炼。   

第二个关键之处, 如果你到这边优化结束了吗? 什么是根本原因造成的?  如果开发不能很快修改SQl, 需要优化咋办?

如果此时服务器在业务时间,造成很大的IO压力, 有什么办法可以暂时性缓解下?

猜你喜欢

转载自blog.csdn.net/daiqiulong2/article/details/79140474