ITPub博客

首页 > 数据库 > Oracle > 一波三折的优化案例

一波三折的优化案例

原创 Oracle 作者:juan025 时间:2019-06-28 21:06:06 0 删除 编辑

Du join pdr1 on du.xm_bh = pdr1.xm_bh

And exists(select 1 from res_cnfg where du.jfdy_bh = res_cnfg.yw_bh and pdr1.res_id = res_cnfg.res_id

)

这段代码看起来是不是怪怪的?du表与pdr1表通过xm_bh关联,然后通过exists对关联后的数据进行了过滤,过滤条件是res_cnfg这个表与du表和pdr1表关联。这段代码真的是晦涩又别扭,以至于我下定决心要重写这个SQL:将exists改成join,改后的代码如下所示:

 

 

 

 

 

第四次优化:全面,去掉不必要的exists条件,只获取变化的数据

本以为要跟这个SQL彻底拜拜,谁知道事与愿违,还不到2天的时间,再次收到“待办事项SQL语句超时,请帮忙优化”的邮件,看来注定要与这个SQL长相厮守了。一而再我忍了,再而三我也认了,居然给我来了个四季发财,是可忍孰不可忍,这次正好有时间,不觉有种不到楼兰死不休的决心。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/693533/viewspace-1983405/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-02-13

  • 博文量
    26
  • 访问量
    23120