hints的push_pred应用(二)

2014-11-24 16:24:40 · 作者: · 浏览: 1
AND
A.NDOCID = D.NDOCID AND
A.NDOCSORTID = C.NDOCSORTID AND
C.NDOCSORTID IN (1, 2) AND
(A.NSTATE = 0 OR (A.NSTATE = 2 AND A.NDOCSORTID = 1)) AND
((((INSTR(',' || A.CPROCUSERLIST || ',',
',' || 31601 || ',') > 0 ) OR
(((27301 = A.RCV_ORGID OR
27301 = A.RCV_ENTITYID) OR
(27301 = A.TEMPORGID OR
27301 = A.TEMPORGID)) AND 20 = A.RCV_ROLEID))) OR
A.NPROCUID = 31601) AND
(A.NMSGID = 0 OR (A.NMSGID IS NOT NULL AND A.NFWQBOPT = 10)) AND
(A.CURTITLE IS NOT NULL) AND
((B.NPROCID = 20 AND A.NPROCSTATUS = 1) OR (B.NPROCID <> 20))
ORDER BY A.DMODIFYDATE DESC
只是加了一个hints /*+ push_pred(d)*/,时间从2秒降到了46毫秒,逻辑读也降了一半,执行计划太长,这里就不贴了,本着精益求精的态度,最后应该把中间过程的nvl函数也去掉