首页新闻找找看学习计划

oracle关联查询问题

0
悬赏园豆:50 [待解决问题]
select a.ORDERSOURCE,a.SHOPCODE,count(distinct a.ORDERCODE),sum(b.AMT)
  from ORDER a
    join ORDERPAYMENT b on a.ORDERCODE = b.ORDERCODE
  where a.CREATEDATE >= date'2019-03-10' and
        a.CREATEDATE <= date'2019-04-13'+18/24 and (a.ORDERSOURCE=26 or a.ORDERSOURCE=4) and a.CHANGETYPE=0 and a.ORDERSTATUS =3 and a.PAYCONCODE = '1'
 and b.BILLTYPE=1  and b.PAYTYPECODE = 'alipay'
 group by a.ORDERSOURCE,a.SHOPCODE

两张表数量都在千万级,ORDER表中ORDERCODE 是主键,CREATEDATE 有索引,ORDERPAYMENT表 中ORDERCODE 有索引
查询计划:

为什么ORDERPAYMENT表一直被全表扫描?

问题补充:

缩小时间范围的情况:

balahoho的主页 balahoho | 老鸟四级 | 园豆:2018
提问于:2019-10-09 17:18
< >
分享
所有回答(1)
0

junk box: CREATEDATE IDX

A.Z | 园豆:224 (菜鸟二级) | 2019-10-10 22:51

没太明白,CREATEDATE已经有索引的

支持(0) 反对(0) balahoho | 园豆:2018 (老鸟四级) | 2019-10-11 17:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册