- 论坛徽章:
- 0
|
本帖最后由 oicq63236 于 2011-05-06 20:27 编辑
代码如下,为何条件为负数时,此语句执行超慢,大约得20分钟;而当改为270(正数)时,检索会在10秒以内完成? 若做修改,该如何修改?
select count(*),sum(curSum.loanbalance)
from (select summ.customerid,sum(nvl(summ.loanbalance,0.0))/10000 as loanbalance
from cms_con_monthlybalancesummary summ
where substr(summ.organizationcode,1,6)=140605
and summ.year=2011 and summ.month=3
group by summ.customerid
having sum(nvl(summ.loanbalance,0.0))/10000>=-270) curSum
where
not exists(select summ.customerid,sum(nvl(summ.loanbalance,0.0))/10000 as loanbalance
from cms_con_monthlybalancesummary summ
where substr(summ.organizationcode,1,6)=140605
and summ.year=2010 and summ.month=12 and summ.customerid=curSum.customerid
group by summ.customerid
having sum(nvl(summ.loanbalance,0.0))/10000>=-270) |
|