PLSQL_低效SQL的识别和查询汇总(案例)
2016-09-08 22:25
239 查看
1. 查找排序最多的SQL
2.查找磁盘读写最多的SQL
3.查找工作量最大的SQL(实际上也是按磁盘读写来排序的)
4. 用下列SQL工具找出低效SQL
SELECT HASH_VALUE, SQL_TEXT, SORTS, EXECUTIONS FROM V$SQLAREA ORDER BY SORTS DESC;
2.查找磁盘读写最多的SQL
SELECT * FROM ( SELECT sql_text, disk_reads "total disk", executions "total exec", disk_reads / executions "disk/exec" FROM v$sql WHERE executions > 0 AND is_obsolete = 'N' ORDER BY 4 DESC) WHERE ROWNUM < 11;
3.查找工作量最大的SQL(实际上也是按磁盘读写来排序的)
SELECT SUBSTR (TO_CHAR (s.pct, '99.00'), 2) || '%' load, s.executions executes, p.sql_text FROM (SELECT address, disk_reads, executions, pct, RANK () OVER (ORDER BY disk_reads DESC) ranking FROM (SELECT address, disk_reads, executions, 100 * ratio_to_report (disk_reads) OVER () pct FROM sys.v_$sql WHERE command_type != 47) WHERE disk_reads > 50 * executions) s, sys.v_$sqltext p WHERE s.ranking <= 5 AND p.address = s.address ORDER BY 1, s.address, p.piece;
4. 用下列SQL工具找出低效SQL
SELECT executions, disk_reads, buffer_gets, ROUND ( (buffer_gets - disk_reads) / buffer_gets, 2) Hit_radio, ROUND (disk_reads / executions, 2) reads_per_run, sql_text FROM v$sqlarea WHERE executions > 0 AND buffer_gets > 0 AND (buffer_gets - disk_reads) / buffer_gets < 0.8 ORDER BY 4 DESC;
相关文章推荐
- PLSQL_查询SQL的执行次数和频率(案例)
- PLSQL_查询已执行SQL的绑定参数(案例)
- PLSQL_查询已执行SQL的绑定参数(案例)
- Oracle一些查询的案例,(查询的优先级,Sql--plus函数,数字函数,日期时间函数)[详细版]
- NOT EXISTS替代NOT IN EXISTS替换DISTINCT 识别‘低效执行’的SQL语句
- sql查询汇总
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- 帮盖尔优化SQL-----子查询优化的经典案例
- sql查询语句汇总
- 识别低效的SQL语句
- 《SQL CookBook》 简单查询汇总
- 帮盖尔优化SQL-----子查询优化的经典案例
- SQL语句查询结果集中的动态修改案例(临时表+游标)
- sql查询语句_多字段分类汇总_多表合并
- NOT EXISTS替代NOT IN EXISTS替换DISTINCT 识别‘低效执行’的SQL语句
- sql查询语句select汇总
- SQL连接查询(汇总)
- SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理]