我的一个递归查询如下,递归查询的表也就1000多行,但执行出来却花了240多秒,请教下怎么优化!!!
select distinct mtt.taskitem_id
from security_taskitem mtt,
(
select mrt.task_id
from security_userrole mur,
security_role mrt
where mur.user_id = 2
and mur.role_id = mrt.role_id
) temp
connect by mtt.task_id = prior mtt.taskitem_id
start with mtt.task_id in(temp.task_id)
执行计划
SELECT STATEMENT, GOAL = CHOOSE
SORT UNIQUE
CONNECT BY WITHOUT FILTERING
COUNT
NESTED LOOPS
NESTED LOOPS
TABLE ACCESS FULL SECURITY_USERROLE
TABLE ACCESS BY INDEX ROWID SECURITY_ROLE
INDEX UNIQUE SCAN PK_SECURITY_ROLE
TABLE ACCESS FULL SECURITY_TASKITEM