在数据库中查看一个SQL执行一次耗时多少?

mochongwang 2009-06-02 05:29:35
在数据库中查看一个SQL执行一次耗时多少?
现在我在做SQL优化,需要查出数据库中每一个SQL执行需要消耗多少时间和IO。
我的oracle是9i版本的没有AWR那样的工具,分析起来很郁闷,
不知道大家有没有其他方,曾经使用过v$sql视图,但是他记录的是一个SQL被执行总次数的总耗时,
希望大家能给个解决办法!!
谢谢!
...全文
799 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
超叔csdn 2009-06-03
  • 打赏
  • 举报
回复
先找出对应的SQL_ID。
szdm> select sid,serial#,machine,username,status,sql_id from v$session where event='PX Deq: Table Q Normal';
通过SQL_ID找出执行计划的时间。
szdm> select * from table(dbms_xplan.display_cursor('auagr24s1ng8u',null));
这里的'auagr24s1ng8u'是对应的SQL_ID
阿三 2009-06-03
  • 打赏
  • 举报
回复
那得进行分析了
mochongwang 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zxf_feng 的回复:]
SQL> set timing on;
[/Quote]
我的SQL语句是已经在数据库中执行过的,
并不是现执行现查看效率。
我要跑完整个系统,然后再查看在跑系统过程中
所执行的SQL的效率
pathuang68 2009-06-03
  • 打赏
  • 举报
回复
在sqlplus端,用set timing on的办法就可以。
inthirties 2009-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zxf_feng 的回复:]
SQL> set timing on;
[/Quote]

可以sqlplus里刚运行完的sql的时间


如果要查询所有的sql的运行时间

如果对所有的sql来查运行时候,好像就没有好办法了。自己写sql去分析,或者用sql trace和statspack叻。


==================================================================
Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理

如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:dba@Inthirties.com
网站: http://www.inthirties.com
hebo2005 2009-06-02
  • 打赏
  • 举报
回复
刚想说看AWR
那就要写SQL去分析了
weiluo12 2009-06-02
  • 打赏
  • 举报
回复
plsql中
ojuju10 2009-06-02
  • 打赏
  • 举报
回复
直接在test window窗口中运行
阿三 2009-06-02
  • 打赏
  • 举报
回复
SQL> set timing on;

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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