查看sql执行计划似乎正常,IO很大
本帖最后由 gavin 于 2014-5-26 15:49 编辑环境:Oracle Linux x86 64
数据库版本:oracle 11g r2
通过awr分析发现以下这条sql有问题,怎么会一直运行,从25号直到26号这条sql一直在运行。
可是查看执行计划却没发现有什么异常,给开发,开发人员说这sql没问题,特求助大家帮看看:
sql:
SELECT A.* ,
B.LEFT_POINT ,
B.RIGHT_POINT,
B.LEVEL_TYPE
FROM
(
SELECT R.*,
LEVEL LEVEL_NUM
FROM
(
SELECT *
FROM MI_TEMP_TREE R
WHERE STATUS = 1
AND QTY_MEMBER = :B1
AND S_TYPE = 0
)
R START
WITH RIGHT_NO = :B2 CONNECT BY PRIOR RIGHT_NO = LINK_NO
)
A
LEFT JOIN MI_MEMBER_RIGHT B
ON A.RIGHT_NO=B.RIGHT_NO
WHERE A.LEVEL_NUM <= :B3
ORDER BY LEVEL_NUM;
执行计划也没看出在哪开销很大
PL/SQL Developer 执行的,肯定是人为执行的, 你找出来 杀掉不就完了 foxhuntwang 发表于 2014-5-26 16:38 static/image/common/back.gif
PL/SQL Developer 执行的,肯定是人为执行的, 你找出来 杀掉不就完了
杀了,但关键是为何这么一条sql io能如些的大。 gavin 发表于 2014-5-26 18:04 static/image/common/back.gif
杀了,但关键是为何这么一条sql io能如些的大。
哪看出io了 使用绑定变成,用dbms_plan跟踪时有时会不准确。论坛里以前有讨论过
最准的要用10046 trace去跟踪
页:
[1]