ITPub博客

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

一波三折的优化案例

原创 Oracle 作者:juan025 时间:2019-05-28 15:45:04 0 删除 编辑

1、  RW_BH过滤后,exists子查询里面的记录数必定是<=1;
2、  RW_BH直接或间接与外层查询中的数据有联系的;
3、  在select部分,也是有RW_BH这个字段,这个字段与子查询的rw_bh是否存在联系?
通过层层递进,最终发现子查询中的RW_BH是与外层表对象有间接关系的,为方便理解,SQL可以简化如下:
Select task. RW_BH
From JH_RW task
Where exists(select 1 from XM_RWJH_GX li
                  left join rp_task_t ta on li.parent_ RW_BH = ta. RW_BH
where ta. RW_BH = :b
)
可以做如下解读:
首先,遍历XM_RWJH表中的所有数据(from XM_RWJH)
其次,对每一个RW_BH判断时候在tm_task_link_t中存在(li.parent_ RW_BH = ta. RW_BH)
最后,判断存在的这个RW_BH是否为参数:b(where ta. RW_BH = :b)


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

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

注册时间:2019-02-13

  • 博文量
    26
  • 访问量
    22211