select a.col_1503 bookno,
c.dzlqsdh,
substr(a.col_1503,1,6) khdh,
count(a.index_seqno) clientnum,
sum(nvl(b.volumn,0)) pagenum
from t_idx_object b,khdzl c,t_501 a
where a.index_seqno=b.object_id
and substr(a.col_1503,1,6)=c.id
group by a.col_1503 , c.dzlqsdh,substr(a.col_1503,1,6) khdh;
其中,t_idx_object ,t_501 a中都有2千多万条数据,
khdzl中有5千多条数据,
在a.index_seqno,b.object_id,substr(a.col_1503,1,6)都建了索引,
可以查到10多万条数据,
需要的时间也长,6个多小时,
那位高手看看怎么优化?
c.dzlqsdh,
substr(a.col_1503,1,6) khdh,
count(a.index_seqno) clientnum,
sum(nvl(b.volumn,0)) pagenum
from t_idx_object b,khdzl c,t_501 a
where a.index_seqno=b.object_id
and substr(a.col_1503,1,6)=c.id
group by a.col_1503 , c.dzlqsdh,substr(a.col_1503,1,6) khdh;
其中,t_idx_object ,t_501 a中都有2千多万条数据,
khdzl中有5千多条数据,
在a.index_seqno,b.object_id,substr(a.col_1503,1,6)都建了索引,
可以查到10多万条数据,
需要的时间也长,6个多小时,
那位高手看看怎么优化?
解决方案 »
- OCCI在vc2005怎样配置
- 关于一个SQL语句,困惑了,求指导
- orcle8i数据库中的REDO01-REDO03日志文件被优化大师删掉,在ORACLE里怎么恢复,怎么重做日志文件
- 如果哪位能现场教我在ORACLE8i下写一个返回记录集的存储过程,我就给他150分
- 请问我这个视图怎么建?
- 怎样用PL/SQL 导入DMP的数据库?
- 不好意思,问一个也许很简单的问题?
- 我做了一个function,可是里面的like方法不起作用
- 散分喽
- pl / sql 里怎么进行字符串相加?
- 现在我有个日期如2006-05-31,怎么才能等到它的后一天如2006-06-01
- D2K的report如何设置局部变量或者全局变量?
建议你分析一下各个表和索引,然后让CBO选择一下,给出执行计划,如果还不理想再调整
看你的时间估计先nested loops关联了a和b,这么大数据量一般hash join比较合算
还有group by a.col_1503 , c.dzlqsdh,substr(a.col_1503,1,6) khdh;这句的substr是不是冗余啊,