多表查询语句优化

初学者_v1 2018-02-28 06:44:38
我要从4张表里面查询相关联的数据,其中A,B,C表都有同一个对应字段SLID,C表和D表有一个对应字段QLRID,我用下面的语句查询特别慢,有大神能帮我优化一下吗?有没有效率更高的方式。

select distinct a.fwsuoyqlr,a.qlrzjbh,a.djsj,a.bdcqzh,b.qlr2,b.qlrzjbh2,c.qlrid,d.dh from BDC_REGN_FWSYQ a,bdc_req b,bdc_qlrlb c,bdc_qlr d where a.slid=b.slid and b.slid=c.slid and c.qlrid=d.qlrid
and a.djsj between to_date('2016-04-29','yyyy-mm-dd') and to_date('2016-07-22','yyyy-mm-dd');
...全文
873 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用with T1 as (select c.slid,c.bdcdyh,c.dyid,d.dh,c.qlrid from bdc_qlrlb c,bdc_qlr d wheree c.qlrid=d.qlrid) select .... 你这个写法有问题,不是一对一关联
jdsnhan 2018-03-01
  • 打赏
  • 举报
回复
贴出执行计划
Oraclenotnull 2018-02-28
  • 打赏
  • 举报
回复
为什么不用C表做主表进行关联?但是不知道能不能优化变快

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧