暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 查找索引查询和未索引查询的SQL

ASKTOM 2019-02-08
494

问题描述

嗨,伙计们,

有没有办法确定数据库上运行的索引查询和未索引查询?

谢谢。

专家解答

这不是那么简单。对于一个表使用索引而不是另一个表的联接呢?无论如何,一个快速的近似值是:

select s.sql_id, s.sql_text
from v$sqlstats s,
( select distinct sql_id
  from v$sql_plan
  where options like '%FULL%'
) p
where p.sql_id = s.sql_id


但是你确定这是这里的目标吗?谁在乎它们是索引还是未索引?我想也许真正感兴趣的是 “什么查询很慢?”

为此,您还可以使用v $ sqlstats,并查看以下值的高值:

处决
buffer_gets
disk_reads
时间流逝


文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论