|
你能不能用DBMS_XPLAN.DISPLAY_CURSOR输出文本型的计划?这个HTML计划看着非常费劲,我甚至无法对齐缩进。
你可以尝试的事情是加上 ap.GL_DATE 查询条件。目前你这个VIEW**的驱动条件是org_id,这样要访问大量数据,而你外层的条件竟然是在QT这个标量子查询的结果上,我看了一下它似乎由ap.GL_DATE决定。所以你的查询条件必须用ap.GL_DATE来做驱动,你要想办法把这个等价的条件弄出来。
另外可以尝试的是把下面这部分改写:
AND (NOT EXISTS
(SELECT trx_id, trx_line_id
FROM zx_lines zl
WHERE zld.trx_id = zl.trx_id
AND zld.trx_line_id = zl.trx_line_id
AND zl.INTERNAL_ORGANIZATION_ID =126
/* fnd_global.org_id*/))
改写成:
AND (zld.trx_id,zld.trx_line_id) NOT IN (
SELECT trx_id, trx_line_id
FROM zx_lines zl
WHERE zl.INTERNAL_ORGANIZATION_ID =126
AND trx_id IS NOT NULL AND trx_line_id IS NOT NULL
)
改写后的计划应该出现ANTI JOIN。
当然这样和原来有点不等价,你要确定一下是否那两个列非空。
|
|