相同的SQL 在两个环境里面执行计划不同 ,由于 测试环境 数据行数比较小 ,执行很快,而正式环境 数据量大 得执行6个多小时 ,大家帮忙看看差别在哪 ? 多谢
语句大概是这样的 select tab1.*from(a ,b) tab1 ,tab2 where tab1 tab2
select tab1.cardno cardno,tab1.totalamt totalamt,tab2.amt cardamt
from (
select /*count(*)*/a.cardno cardno,a.curamt+nvl(b.tranamt,0) totalamt
from (
select /*count(*)*/ t1.cardno cardno,sum(nvl(t1.curamt,0)) curamt
from cardacct t1
where t1.cardstat = '00' and t1.openflag = '1'
/*and t1.carddate >= '20110101' and t1.carddate = '20110101' and to_char(a.sellcarddate,'yyyymmdd') = '9000100188803462573'*/
) tab2
where tab1.cardno >= tab2.startno and tab1.cardnotab2.amt or tab1.totalamttab2.amt);
[ 本帖最后由 lgyy 于 2011-9-9 16:04 编辑 ]
|