我们平台在查找使用全表扫描执行计划的SQL时,发现有些应用跑过逻辑的SQL,确认用的全表扫,但是未能实时的检索到,于是,看下用的SQL,

SELECT s.sql_text, P.OBJECT_OWNER,P.SQL_ID,P.OPERATION,P.OPTIONS,S.LAST_LOAD_TIME,ROW_NUMBER() OVER(PARTITION BY P.SQL_ID ORDER BY P.SQL_ID) AS ROWNUMSFROM V$SQL_PLAN P, V$SQLAREA SWHERE S.SQL_ID = P.SQL_IDAND P.OPERATION = 'TABLE ACCESS'AND P.OPTIONS = 'FULL'AND S.LAST_LOAD_TIME >= trunc(SYSDATE-1)ORDER BY S.SQL_TEXT, P.SQL_ID

逻辑其实很简单,就是将v$sql_plan和v$sqlarea视图进行关联,根据operation和options找到TABLE ACCESS FULL关键字,并加上时间条件,但是为什么应用确认肯定跑过的逻辑,而且肯定是全表扫描的SQL,不能找到?

究其原因,就和这个时间条件相关。我们看到,SQL中过滤时间的字段是v$sqlarea中的last_load_time,指定了大于等于昨天的00:00:00,除了这个字段,其实有个last_active_time字段,和这个很像,两者有什么区别?

在v$sqlarea视图中,last_load_time和last_active_time,解释如下,

LAST_LOAD_TIME,DATE类型
Time at which the query plan was loaded into the library cache

执行计划载入library cache库缓存的时间

LAST_ACTIVE_TIME,DATE类型
Time at which the query plan was last active

SQL最新一次执行的时间

在v$sql视图中,last_load_time和last_active_time,解释如下,

LAST_LOAD_TIME,VARCHAR2(19)类型
Time at which the query plan was loaded into the library cache

执行计划载入library cache库缓存的时间,但是他是VARCHAR2(19)类型

LAST_ACTIVE_TIME,DATE类型
TIme at which the query plan was last active

SQL最新一次执行的时间

执行新的SQL,这个SQL不在共享池中,这时会进行硬解析,v$sql中的last_active_time和last_load_time是硬解析的时间。

执行共享池内已经存在的SQL,会进行软解析,last_active_time是软解析的时间,也是SQL最新执行的时间,last_load_time的值不变。

因此,如果我的需求是找出前一天应用跑过的逻辑中使用全表扫描执行计划的SQL,从准确性讲,应该用的是last_active_time,不是last_load_time,因为很可能由于缓存了执行计划,last_load_time的值一直未变,此时last_active_time才会更可能满足到我们最初的需求。

近期热文:

《truncate分区表的操作,会导致全局索引失效?》

《NUMBER长度的误解》

《《decode函数的妙用》网友的两个问题解答》

《decode函数的妙用》

《虚拟内存详解》

《7号球衣的故事:重要的不是号码,而是穿着它的人》

《插入"&"特殊字符的几种思考》

《connect by超乎你想象》

《公众号600篇文章分类和索引》

last_load_time和last_active_time的选择相关推荐

  1. PLSQL Developer几个可能的隐患

    PL/SQL Developer是一个集成开发环境,由Allround Automations公司开发,专门面向Oracle数据库.作为一款第三方工具,早就被广大Oracle开发和运维人员所熟知.相比 ...

  2. Oracle Cloud云端账号的注册过程

    Oracle Database 20c在云端已经提供预览版,但是如何到云端?在去年第4季度,Oracle Cloud的云服务有个推广活动,注册账号能永久免费开通使用2台云服务器+数据库以及其他的服务. ...

  3. 公众号700篇文章分类和索引

    杂货铺的文章,已经积累到700篇了,每篇文章的背后,都有自己的成长,以及读者的支持,虽然自己还是有很多需要提高的,但看着这些文章,自己至少在路上. 这些文章,可以按照技术和非技术分为两类,其中,技术类 ...

  4. 公众号1200篇文章分类和索引

    承蒙读者朋友们的关照,截止到今天,杂货铺的文章已经积累到了1200篇,其中有超过2/3的文章都是原创的,即使是转载,我给的底线是一定要加些自己的见解,因为至少得让读者了解到这篇文章的价值,而不仅仅是文 ...

  5. oracle数据库通过SQL profile 绑定SQL最优执行计划(个人实践)

    1.执行SQL语句,同时使用如下命令查找SQL ID select a.SQL_ID,b.SQL_TEXT,b.LAST_LOAD_TIME,b.LAST_ACTIVE_TIME   from v$s ...

  6. 【SQL监控】SQL完全监控的脚本

    有网友询问我的这篇blog  http://blog.itpub.net/26736162/viewspace-1218671/  中的视图 vw_sql_rubbish_monitor_lhr 的内 ...

  7. oracle tabe unlock_oracle数据库管理常用语句(不断更新中)

    1.删除用户及其用户下面的所有对象 drop user branch cascade; 2.删除表空间及其表空间里的所有内容 drop tablespace center INCLUDING CONT ...

  8. Oracle调优总结--1(经典实践 重要)

    Problem Description: 1.每个表的结构及主键索引情况 2.每个表的count(*)记录是多少 3.对于创建索引的列,索引的类型是什么?count(distinct indexcol ...

  9. 简单介绍互联网领域选择与营销方法

    在我看来,互联网领域的选择是"安家",而营销方法的不同则表现了"定家"的方式多种多样,只有选对了,"家"才得以"安定". ...

  10. php多表存储,php – MySql在一个单元格中存储另一个表的多个引用并选择它?

    我有两张桌子 table: people id name goods_owned 1 john 1,4,3 2 Mike 2,5 3 Sam 1,5,2 4 Andy 5,3,4 – table go ...

最新文章

  1. J2EE业务层模式:服务门面,应用服务,以及业务委托,服务定位器
  2. 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
  3. 使用JDK自带的jmap和jhat监控处于运行状态的Java进程
  4. 为余势负天工背,云原生内存数据库Tair助力用户体验优化
  5. 手机python3ide加法器_Python3开发常用工具
  6. 阿里平头哥研发专用 SoC 芯片;部分 MacBook Pro 被禁止上飞机;VS Code 1.37 发布 | 极客头条...
  7. 素数的线性筛法java,埃氏筛 线性筛(欧拉筛) 算法解析
  8. ansible-playbook之循环(Loops)
  9. python 笔记 之 练习答案-ABCD乘以9=DCBA
  10. 用51单片机怎么玩SG90舵机?
  11. 20155314 2016-2017-2 《Java程序设计》第2周学习总结
  12. 树莓派linux led字符设备驱动( platform)
  13. 领导合影站位图_领导座次安排示意图,各种场合都有,不懂很容易闹笑话!
  14. Python模拟随机游走
  15. 再安利几个看片追剧的App
  16. Windows远程桌面协议(RDP)
  17. 面部识别:猴脸识别如何分辨真假 “美猴王”?
  18. fabric contract链码案例
  19. 行泊一体冰火两重天:1000万辆市场释放,量产难题待解
  20. 【问题】C4D中设置了界面颜色,如何恢复默认?

热门文章

  1. PhotoShop 之图层蒙版
  2. Python3快速入门—7.枚举
  3. 杨诚 湖南科技职业技术学院计算机,湖南科技大学计算机科学与工程学院
  4. 方维团购V3.07版本短信插件开发
  5. c语言 指针混合编程,entern “C”/(C/C++)混合编程(转)
  6. python分号_python分号_python 分号_python加分号 - 云+社区 - 腾讯云
  7. app store connect
  8. 编程题a ~ y的25个字母,从1位到4位的编码,输出这个编码对应的Index
  9. 图像分辨率和图像大小的计算
  10. 第一章 数字图像基础知识(图像的空间分辨率和幅度分辨率)