|
一条语句,只是取到291条记录,而且都走了索引,但是还需要322秒,这太慢了,请各位大虾指点一下
其中三个表,每一个表的数据量不超过一千万.
SELECT /*+ ordered index(b,I_hd_yjszsx_NSRNBM_ZSPM)*/ a.nsrnbm,c.nsrbm,c.nsr_mc,sbfs_dm,jkfs_dm,sz_dm zsxm_dm,pm_dm zspm_dm,jsje,sl,sbqx_dm,jkqx_dm,
nsqx_dm,zsfs zsfs_dm,hd_qsrq,hd_zzrq,sj_zzrq,dkdjbz,jyxm_dm,c.gljg_dm,c.dj_zt,c.zclx_dm,c.zgy,c.xzjd_dm,c.lxdh_dh
FROM db_ods.t_hd_yjszsx b,db_ods.t_hd_nshd a,db_ods.T_DJ_NSRXX c
WHERE a.nsrnbm=b.nsrnbm(+) AND a.nsrnbm=c.nsrnbm and c.GLJG_DM = '244060607' AND c.DJ_ZT = '20' AND b.sz_DM = '02' AND b.pm_DM = '0705'
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 21 25.47 322.64 68812 98016 0 291
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 23 25.47 322.65 68812 98016 0 291
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: SYS
Rows Row Source Operation
------- ---------------------------------------------------
291 HASH JOIN
29622 TABLE ACCESS BY INDEX ROWID T_DJ_NSRXX
29622 INDEX RANGE SCAN I_DJ_NSRXX_GLJG_DJZT (object id 317778)
9115 NESTED LOOPS
9115 TABLE ACCESS BY INDEX ROWID T_HD_YJSZSX
9115 INDEX FULL SCAN I_HD_YJSZSX_NSRNBM_ZSPM (object id 317779)
9115 TABLE ACCESS BY INDEX ROWID T_HD_NSHD
9115 INDEX UNIQUE SCAN PK_T_HD_NSHD (object id 315873)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 21 0.00 0.00
db file sequential read 68812 0.38 295.74
buffer busy waits 1 0.01 0.01
SQL*Net message from client 21 13.37 13.47
********************************************************************************
alter session set events '10046 trace name context off' |
|