在数据库中查看一个SQL执行一次耗时多少?
现在我在做SQL优化,需要查出数据库中每一个SQL执行需要消耗多少时间和IO。
我的oracle是9i版本的没有AWR那样的工具,分析起来很郁闷,
不知道大家有没有其他方,曾经使用过v$sql视图,但是他记录的是一个SQL被执行总次数的总耗时,
希望大家能给个解决办法!!
谢谢!

解决方案 »

  1.   

    直接在test window窗口中运行
      

  2.   

    刚想说看AWR
    那就要写SQL去分析了
      

  3.   


    可以sqlplus里刚运行完的sql的时间
    如果要查询所有的sql的运行时间如果对所有的sql来查运行时候,好像就没有好办法了。自己写sql去分析,或者用sql trace和statspack叻。
    ==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    QQ群:  85837884(注明:数据库)
    电子邮件:[email protected]
    网站: http://www.inthirties.com
      

  4.   

    我的SQL语句是已经在数据库中执行过的,
    并不是现执行现查看效率。
    我要跑完整个系统,然后再查看在跑系统过程中
    所执行的SQL的效率
      

  5.   

    先找出对应的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
      

  6.   

    在sqlplus端,用set timing on的办法就可以。