怎样查找oracle数据库中最耗时的SQL语句

 我来答
oowood
推荐于2017-11-06 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1244万
展开全部
这个需要sys'权限查看v$session_longops和v$sqlarea。
因为CPU和磁盘读写非常占时间,就看这两个吧:
CPU:
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;
磁盘:
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;
smile风华少年
2017-11-06 · TA获得超过160个赞
知道答主
回答量:65
采纳率:33%
帮助的人:8.3万
展开全部
抓AWR报告,然后从报告里面找耗时SQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式