oracle 查看 SQL语句 执行计划 执行情况 耗时 详情 时间报告

 

原  https://blog.csdn.net/sinat_27933301/article/details/80967596

Oracle查询SQL语句执行的耗时

2018年07月10日 19:11:44 码农云帆哥 阅读数:1106

 版权声明:本文为博主原创文章,未经博主允许不得转载。原创不易,转载请注明出处。 https://blog.csdn.net/sinat_27933301/article/details/80967596

select a.sql_text SQL语句,
       b.etime 执行耗时,
       c.user_id 用户ID,
       c.SAMPLE_TIME 执行时间, 
       c.INSTANCE_NUMBER 实例数,
       u.username 用户名, a.sql_id SQL编号
  from dba_hist_sqltext a,
       (select sql_id, ELAPSED_TIME_DELTA / 1000000 as etime
          from dba_hist_sqlstat
         where ELAPSED_TIME_DELTA / 1000000 >= 1) b,
       dba_hist_active_sess_history c,
       dba_users u
 where a.sql_id = b.sql_id
   and u.username = 'MYDB'
   and c.user_id = u.user_id
   and b.sql_id = c.sql_id
   and a.sql_text like '%select * from big_data_tbl%'
 order by  SAMPLE_TIME desc, 
  b.etime desc; 

输出:

SQL语句执行耗时用户ID执行时间实例数用户名SQL编号
(HUGECLOB)5.247487942018/7/9 21:25:29.6101MYDB47gdmxd9a2fjx

https://blog.csdn.net/sinat_27933301/article/details/80967596

 

 

 

转 https://blog.csdn.net/xiaochangwei789/article/details/23919531/

oracle查询SQL语句执行的耗时和执行时间

2014年04月17日 11:12:53 坐看花开 阅读数:17895

 

select a.sql_text SQL语句, 
       b.etime 执行耗时, 
       c.user_id 用户ID,
       c.SAMPLE_TIME 执行时间, 
       c.INSTANCE_NUMBER 实例数,
       u.username 用户名, a.sql_id SQL编号
  from dba_hist_sqltext a,
       (select sql_id, ELAPSED_TIME_DELTA / 1000000 as etime
          from dba_hist_sqlstat
         where ELAPSED_TIME_DELTA / 1000000 >= 1) b,
       dba_hist_active_sess_history c,
       dba_users u
 where a.sql_id = b.sql_id
   and u.username = 'XXXX'
   and c.user_id = u.user_id
   and b.sql_id = c.sql_id
   --and a.sql_text like '%IN%'
 order by  SAMPLE_TIME desc, 
  b.etime desc;

 

 

 

注释: ELAPSED_TIME_DELTA / 1000000 >= 1               为执行时间大于等于1秒的sql

            and u.username = 'XXX'                                             XXX为用户名,必须大写

           and a.sql_text like '%IN%'                                           包含IN的sql

 

https://blog.csdn.net/xiaochangwei789/article/details/23919531/

 

 

 

 

 

 

 

https://www.cnblogs.com/pipi-582/p/6626836.html

小子582547523

积累知识,每天进步一小步,一年进步一大步......

随笔- 7  文章- 1  评论- 0 

查看Oracle耗时Sql

--1、查看耗时SQL
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.elapsed_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;
-- 2.查看CPU消耗时间最多的前10条SQL语句
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.cpu_time desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;

--3.查看消耗磁盘读取最多的前10条SQL语句
select *
from (select v.sql_id,
v.child_number,
v.sql_text,
v.elapsed_time,
v.cpu_time,
v.disk_reads,
rank() over(order by v.disk_reads desc) elapsed_rank
from v$sql v) a
where elapsed_rank <= 10;

标签: Oracle

好文要顶 关注我 收藏该文  

小子582547523
关注 - 0
粉丝 - 0

+加关注

0

0

« 上一篇:关于Netty的疑问
» 下一篇:协议

posted @ 2017-03-27 15:08 小子582547523 阅读(2731) 评论(0) 编辑 收藏

刷新评论刷新页面返回顶部

https://www.cnblogs.com/pipi-582/p/6626836.html

 

 

 

 

 

 

 

https://www.cnblogs.com/qingxinblog/articles/4222608.html

晴心

 

随笔- 46  文章- 122  评论- 18 

在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

一、在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

进入sqlplus 
SQL> set timing on 
SQL> select count(*) from comm_human_role; 
COUNT(*) 
---------- 
866 
Elapsed: 00:00:00.05 
以上数字输出分别是:Hours:Minutes:Seconds.Milliseconds 
即用了0.05秒的时间执行,相当于50毫秒。 
时间如果是这样的表示:00: 03: 235.78 
总共用的时间为235.78秒, 不到4分钟,所以显示的是3分钟(235.78秒大约为3分钟55.78秒) 
#设置屏幕行宽度 
SQL>set linesize 190 
#设置sqlplus打印执行计划和统计信息 
SQL>set autotrace on 
#设置sqlplus打印执行时间 
SQL>set timing on 
如果在sqlplus中出现下面的错误: 
SP2-0027: Input is too long (> 2499 characters) - line ignored 
表示sql一行的语句已经超过了2499个字符。 
解决: 
在一段sql中加“回车”, 
保证每行不超2499个字符,重新执行sql语句就好了。

二、其他

1、如何在sqlplus中查看oracle数据库sql语句执行计划,执行时间和统计信息

#设置屏幕行宽度

SQL>set linesize 190

#设置sqlplus打印执行计划和统计信息

SQL>set autotrace on

#设置sqlplus打印执行时间

SQL>set timing on

2、通过执行计划可以看到SQL的详细执行过程:

EXPLAIN PLAN FOR
          SELECT * FROM table;
          
          SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

好文要顶 关注我 收藏该文  

晴心
关注 - 24
粉丝 - 28

+加关注

0

0

« 上一篇:ORACLE数据库SQL语句的执行过程
» 下一篇:JDBC ResultSet分析

posted @ 2015-01-13 21:51 晴心 阅读(876) 评论(0)  编辑 收藏

刷新评论刷新页面返回顶部

https://www.cnblogs.com/qingxinblog/articles/4222608.html

 

 

 

 

 

 

https://zhidao.baidu.com/question/430187136143819252.html

如何查看Oracle中sql语句的执行时间

 我来答

分享

举报浏览 642 次

1个回答

#今日科普# 又到公司年会,什么小游戏比较给力?

最佳答案

热心网友 
2017-08-14

通过Oracle执行计划可以看到SQL的执行时间。
EXPLAIN PLAN FOR
SELECT * FROM table;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
SQL>set timing on --显示执行时间
SQL>set autorace on ?C显示执行计划
SQL>set autorace on ?C显示执行计划
SQL>set autotrace traceonly ?C只显示执行计划即不显示查询出来的数据
设置完毕后执行SQL语句就会显示执行时间。

 本回答由提问者推荐

 3   2

 评论 

分享

 举报

https://zhidao.baidu.com/question/430187136143819252.html

https://zhidao.baidu.com/question/286266059.html

 

 

 

 

 

 

 

https://zhidao.baidu.com/question/286266059.html

如何获取Oracle数据库中sql语句的执行时间

海量数据查询1.通过plsql可以获取吗,怎么获取?2.在java程序中获取,执行查询rs=s.executeQuery(sql);这条语句很快就执行过去了,为什么?3.还有什么方式可以方便、准确的获取执行时...展开

 我来答

分享

举报浏览 10559 次

7个回答

#今日科普# 中国国民财富跃居全球第二,什么是国民财富?

最佳答案

杜爷1号 
知道合伙人软件行家 推荐于2017-08-02

  通过Oracle执行计划可以看到SQL的执行时间。
  EXPLAIN PLAN FOR
  SELECT * FROM table;
  SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
  SQL>set timing on --显示执行时间
  SQL>set autorace on ?C显示执行计划
  SQL>set autorace on ?C显示执行计划
  SQL>set autotrace traceonly ?C只显示执行计划即不显示查询出来的数据
  设置完毕后执行SQL语句就会显示执行时间。

 3   2

 评论 

分享

 举报

renfengjun1986 
知道合伙人软件行家 2017-07-27

rs = s.executeQuery(sql);
到这一句,根本没有fetch数据。
整个时间应该是,到循环取完结果集为止。

 抢首赞   

 评论 

分享

 举报

alex_hy 
来自电脑网络类芝麻团 2011-06-30

plsql方法 在执行你的脚本前后都运行一遍 select sysdate from dual

再减一下好了

追问

数百万级的数据啊

追答

那你考虑的不应当是时间 而是存储了 

另外,我们做的都是6千万的数据,查一下也就是10秒级别,关键是索引要做好

更多追问

 本回答被提问者采纳

 4   5

 1评论 

分享

 举报

young_tower 
来自电脑网络类芝麻团 2011-06-30

在SQL *PLUS中利用set timing on 可以获取SQL语句的执行时间
例如:
sqlplus /nolog
conn / as sysdba
set timing on
再执行SQL语句即可看到语句的执行时间。

 抢首赞   

 1评论 

分享

 举报

sunnylife肖 
2017-08-01

F5
设置里面可以设置分析sql要显示的东西 有包含时间的 百度下

 抢首赞   

 评论 

分享

 举报

12下一页>

收起 其他4条回答

 

https://zhidao.baidu.com/question/286266059.html

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值