在上一篇 优化利器In-Memory开启和效果

中,提到的两个SQL对比,使用的是传统的dbms_xplan.display_cursor方式来查看执行计划,好处是文本输出的通用性强,基本信息也都有。

但如果大家参加过我们的RWP培训,就会发现O原厂强烈推荐大家使用的一个工具是 SQL Monitor Report,且要使用ACTIVE的类型,这可以让看SQL执行计划变得赏心悦目。

本文就简单介绍下,如何使用 SQL Monitor Report,也以之前的例子,来更直观的看到二者执行计划的差异:

1.准备通用的sqlmon.sql脚本

为了更具通用性,这里以SQL_ID为输入条件:

vi sqlmon.sql

set pagesize 0 echo off timing off linesize 1000 trimspool on trim on long 2000000 longchunksize 2000000 feedback off
spool sql_monitor_&sql_id\.htm
select dbms_sqltune.report_sql_monitor(type=>'ACTIVE', sql_id=>'&sql_id', report_level=>'ALL') monitor_report from dual;
spool off

2.执行两条SQL,并确认各自的sql_id

这次使用更明确的hints来区分是否使用In-Memory和确保都可以生成SQL Monitor Report:

--SQL1:
select /*+ monitor */ count(*) from L sql_id: ahtu40vr8dbhu --SQL2:
select /*+ monitor no_inmemory */ count(*) from L sql_id: 7rzcsju067wr0

获取sql_id有多种方式,其实最方便的就是也可以通过传统看执行计划的方式来获取。

3.调用sqlmon脚本生成SQL Monitor Report

SQL> @sqlmon
Enter value for sql_id: ahtu40vr8dbhu
Enter value for sql_id: ahtu40vr8dbhu SQL> @sqlmon
Enter value for sql_id: 7rzcsju067wr0
Enter value for sql_id: 7rzcsju067wr0

4.对比两个SQL Monitor Report

SQL1的SQL Monitor Report:

SQL2的SQL Monitor Report:

除了之前执行时就体验的执行时间差异,其对IO资源的实际消耗也可以非常直观的看到,二者有很大的差异。

小知识:SQL Monitor Report的使用的更多相关文章

  1. Oracle SQL调优系列之SQL Monitor Report

    @ 目录 1.SQL Monitor简介 2.捕捉sql的前提 3.SQL Monitor 参数设置 4.SQL Monitor Report 4.1.SQL_ID获取 4.2.Text文本格式 4. ...

  2. 小知识 Sql 格式化工具 AutoPostBack后的定位 Post和Get区别 防止被 Fream

    T-Sql 格式化工具 http://jinzb.name/Common/SqlFormat.html AutoPostBack后的定位问题: 给Page 增加属性,MaintainScrollPos ...

  3. sql monitor生成不了报告& FFS hint不生效两个问题思考

    事情的发生就是这么偶然,一步步的深入才能汲取到更深入的知识~~ -------------------START------------------------------------------- ...

  4. 【转载】sql monitor

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27067062/viewspace-2129635/ SQL Monitor Report 1. SQL Monit ...

  5. 11g SQL Monitor

    1,首先确认两个参数的值 SQL> show parameter statistics_level NAME                     TYPE     VALUE ------- ...

  6. 12个你未必知道的CSS小知识

    虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...

  7. 关于Excel做表小知识记录

    关于Excel做表小知识记录 最近使用Excel做了一系列的报表,觉得这是个很神奇的东西哈哈哈,以前我可是一想到Excel就开始头疼的人...  能用代码或者SQL语句解决的问题绝不会愿意留在Exce ...

  8. python小技巧 小知识

    python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...

  9. DevExpress之GridControl控件小知识

    DevExpress之GridControl控件小知识 一.当代码中的DataTable中有建数据关系时,DevExpress 的 GridControl 会自动增加一个子视图 .列名也就是子表的字段 ...

  10. 蓝牙Bluetooth技术小知识

    蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...

随机推荐

  1. 1、PyTorch基本操作

    一.简介 简单介绍PyTorch框架,基本使用和安装方法.Torch是什么?一个火炬!其实跟Tensorflow中Tensor是一个意思,就是说,有一批数据,无论是图像数据还是文本数据或数值数据,都需 ...

  2. Win10家庭版找不到组策略gpedit.msc怎么解决?

    链接:https://pan.baidu.com/s/1SoSWCfHwZhD3tV4C7DcirA 提取码:okfm 1.下载文件 2.以管理员身份运行 3.

  3. 11.20 dom 浏览器对象模型

    1.window.open(url,ways) url 是打开的网页地址 ways 打开的方式 _self 2.window.close() 3.浏览器用户信息:Window.navigator 4. ...

  4. luogu 1344

    首先题意就是裸的最小割啦 然后考虑如何统计边数 这里有一个trick: 我们设定一个大于$m$的阈值,对于每条边的边权我们乘这个阈值+1后跑最小割,得到的答案除以阈值就是真正的最小割,取模阈值后就是最 ...

  5. 【python】类的学习

    https://www.bilibili.com/video/av69455439?from=search&seid=406401960648305052 https://zhuanlan.z ...

  6. JAVA基础Day2-基本运算符/自增自减运算符/逻辑运算符、位运算符/包机制

    一.基本运算符 算术运算符:+.-.*./.%.++.-- 赋值运算符:= 关系运算符:>.<.>=.<=.==.!= instanceof 逻辑运算符:&&. ...

  7. Two Sum:给出一个整数数组,返回两个数的下标值,令其和等于一个指定的目标值 #Leetcode

    // Given nums = [2, 7, 11, 15], target = 9, // Because nums[0] + nums[1] = 2 + 7 = 9, // return [0, ...

  8. IOS文件下载时,文件名的处理

    string contentType = MimeMapping.GetMimeMapping(name);var isIOS = false; if (Request.UserAgent != nu ...

  9. 【Unity】利用C#反射打印类的字段信息

    最近在用protobuf-net序列化功能生成.bytes配置文件时,遇到了需要把.bytes配置文件再另外转成Lua配置文件(Lua配置表内容举例)的需求.Lua配置文件需要记录配置类的各个字段名和 ...

  10. hbase 集群写入能力优化-预分区、TTL的应用

    一.概述 hbase 写入优化除了参数配置之外,很大的一块要考虑避免region的热点问题,避免region 热点问题,主要的目的是提高hbase 数据表rowkey的分散.结合实际情况主要有以下几个 ...