帮忙解释下oracle执行计划的含义

bhwhy 2008-12-22 04:00:02
在sqlplus中查看一个语句的执行计划,可是看不明白,哪位帮忙解释一下。
実行計画
----------------------------------------------------------
0 INSERT STATEMENT Optimizer=ALL_ROWS (Cost=5 Card=1 Bytes=206
)

1 0 COUNT
2 1 VIEW (Cost=5 Card=1 Bytes=206)
3 2 COUNT
4 3 VIEW (Cost=5 Card=1 Bytes=193)
5 4 SORT (ORDER BY) (Cost=5 Card=1 Bytes=173)
6 5 NESTED LOOPS (Cost=4 Card=1 Bytes=173)
7 6 VIEW (Cost=3 Card=1 Bytes=31)
8 7 FILTER
9 8 SORT (GROUP BY) (Cost=3 Card=1 Bytes=30)
10 9 INDEX (RANGE SCAN) OF 'SYS_C003749' (IND
EX (UNIQUE)) (Cost=3 Card=1 Bytes=30)

11 6 TABLE ACCESS (BY INDEX ROWID) OF 'FKOGD24' (TA
BLE) (Cost=1 Card=1 Bytes=142)

12 11 INDEX (UNIQUE SCAN) OF 'SYS_C003741' (INDEX
(UNIQUE)) (Cost=1 Card=1)





統計
----------------------------------------------------------
0 recursive calls
9 db block gets
22 consistent gets
0 physical reads
1492 redo size
535 bytes sent via SQL*Net to client
2969 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
3 sorts (memory)
0 sorts (disk)
2 rows processed

我主要想知道这个语句的用时,有点不明白啊。
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsong145 2008-12-24
  • 打赏
  • 举报
回复
执行计划的最上面的时间是该语句执行的总时间,执行计划消耗的时间,并不是简单的消耗时间相加
percy_620515 2008-12-24
  • 打赏
  • 举报
回复
楼上的正确
bhwhy 2008-12-23
  • 打赏
  • 举报
回复
高手帮忙啊。。头大了
boboo_2000_0 2008-12-23
  • 打赏
  • 举报
回复
学习。
bhwhy 2008-12-22
  • 打赏
  • 举报
回复
用的连接池。
我在这也问了。还请高手帮忙分析,一并结贴
http://topic.csdn.net/u/20081222/18/061a452c-36f1-4da7-b426-4c4851ac109c.html?seed=200000980
mantisXF 2008-12-22
  • 打赏
  • 举报
回复
JAVA->ORACLE的问题了.. 网络?连接池?EJB?
[Quote=引用 3 楼 bhwhy 的回复:]
搞不定啊。在执行计划中,用时几乎可以忽略不计,一放到程序中执行,要用10几秒。有什莫地方会用到这莫多时间啊。
try {
pstmt = conn.prepareStatement(sql);
setParams(pstmt, params);
ret = pstmt.executeUpdate();
}
catch (SQLException e) {
throw new DBExecuteException(e);
}


pstmt.executeUpdate();就是最耗时的地方…
[/Quote]
bhwhy 2008-12-22
  • 打赏
  • 举报
回复
搞不定啊。在执行计划中,用时几乎可以忽略不计,一放到程序中执行,要用10几秒。有什莫地方会用到这莫多时间啊。
try {
pstmt = conn.prepareStatement(sql);
setParams(pstmt, params);
ret = pstmt.executeUpdate();
}
catch (SQLException e) {
throw new DBExecuteException(e);
}


pstmt.executeUpdate();就是最耗时的地方。高手能提示下吗
bhwhy 2008-12-22
  • 打赏
  • 举报
回复
我刚在看这篇文章。我重新执行了下我的SQL,用时経過: 00:00:00.03,说明没有问题啊,
但是放到程序里执行用时要10秒。连接我都用的通用的。
范佩西_11 2008-12-22
  • 打赏
  • 举报
回复
给你一篇资料,自己好好研究下。
http://www.91linux.com/html/article/database/oracle/20080814/13196.html

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧