首页 存档 技术 查看内容

【DB笔试面试135】在Oracle中,如何查询逻辑读、物理读等SQL语句呢?如何寻找或监控效 ...

2018-3-30 13:00 |来自: 互联网 341 0

摘要: Q题目如下所示:在Oracle中,如何查询逻辑读、物理读、执行次数和解析次数最多以及执行时间最长的SQL语句呢?如何寻找或监控效率低下的SQL语句? A答案如下所示:效率低下的SQL一般是执行时间较长的SQL语句,可以通 ...


Q
题目如下所示:

在Oracle中,如何查询逻辑读、物理读、执行次数和解析次数最多以及执行时间最长的SQL语句呢?如何寻找或监控效率低下的SQL语句?



A
答案如下所示:


效率低下的SQL一般是执行时间较长的SQL语句,可以通过如下几种方式来监控分析:

① 当前系统的SQL可以通过监控V$SQL_MONITORV$SESSION视图来实现,记录执行时间较长的SQL语句。对于历史SQL可以通过分析DBA_HIST_SQLSTAT视图。

② 分析现有的系统中的执行计划,重点检查驱动表与被驱动表顺序、表连接算法、排序是否有索引、索引使用

③ 分析AWRASHADDM

④ 通过OEM中性能监控的捕获5s以上的SQL

⑤ 通过GV$SQLAREA视图来分析。

如下的SQL语句是查询执行时间最长的SQL语句,若要查询其它性能问题,可以将SQL中加粗的字段替换即可。逻辑读取BUFFER_GETS字段,物理读取DISK_READS字段,执行时间取ELAPSED_TIME字段,执行次数取EXECUTIONS字段,解析次数取PARSE_CALLS字段


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部