专栏首页数据和云Oracle的SQL多版本控制 - VERSION_COUNT

Oracle的SQL多版本控制 - VERSION_COUNT

在上一期的“恩墨讲堂”微信课中,我提到了一个控制SQL多版本的参数,有很多朋友讨论,这个参数是:_CURSOR_OBSOLETE_THRESHOLD 。

为什么会有这个参数呢?请看下面这个示意图,这是一个真实的生产环境,第一个SQL显示,其Version Count已经达到了26万个,这不仅仅占用了内存,而且会使得SQL解析延迟:

对于版本过多的SQL,一次软解析甚至不如重新执行一次硬解析来的高效,所以Oracle引入了一系列的控制手段来处理这些特殊的游标。

在11.2.0.3之后,这些解决方案最终形成了一个隐含参数,也就是 _CURSOR_OBSOLETE_THRESHOLD,其作用是当SQL版本超过这个参数设定后,直接舍弃这个游标,重新解析,重头开始。在这一版本之前,通过补丁和参数("_cursor_features_enabled" 和 event 106001)可以达成类似的效果。

Oracle的很多细节控制都是体贴入微的,且用且珍惜吧

关于SQL的多版本,MOS文章 296377.1 非常值得仔细看看。

点击原文链接报名,加入“恩墨讲堂”微信群。

本文分享自微信公众号 - 数据和云(OraNews),作者:Eygle

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 验证GaussDB T 闪回事务查询功能;闪回表功能强劲闪回TRUNCATE

    总的来说,gaussdb100 T 是可以支持闪回事务查询。 二、GaussDB T 的 Flashback Table 功能非常强劲可以闪回TRUNCATE...

    数据和云
  • 解锁不可见索引新特性,处理ORA-01555故障

    何国亮 云和恩墨交付部技术顾问,获得 Oracle 11g OCM 认证。有超过 6 年超大型数据库专业服务经验,曾为通信运营商、银行、保险、政府、制造业...

    数据和云
  • Oracle 20c 新特性详解:SQL Macro 宏 SCALAR / TABLE 模式带来的敏捷和便利

    墨墨导读:在 Oracle 20c 中,SQL的宏支持 - SQL Macro 为 SQL 开发带来了进一步的敏捷和便利,在这篇文章中,我们来详细了解一下 SQ...

    数据和云
  • LeetCode 86 | 链表基础,一次遍历处理链表中所有符合条件的元素

    今天是LeetCode专题第53篇文章,我们一起来看LeetCode第86题,Partition List(链表归并)。

    TechFlow-承志
  • 风潮乍起——中国分享经济全景解读

    ?        3月11日,由腾讯研究院主办的《中国分享经济风潮全景解读报告》研讨会在京举行,来自分享经济领域的专家、企业代表及媒体就分享经济如何释放经济增...

    腾讯研究院
  • 利用Citrix Receiver浏览器进行渗透

    Citrix Receiver 是一种轻便的通用软件客户端,并带有类似浏览器的可扩展“插件”架构。Receiver 标 配 有 多 种 可 选 插 件 , 可 ...

    贝塔安全实验室
  • Apache架构师总结的30条设计原则!

    今天把 RPC 框架乞丐版差不多写完了(断断续续写了差不多一个月),下周README写完之后就开源出来。

    Guide哥
  • Python|try/except捕捉SyntaxError

    大家在编写程序的时候,多多少少都会出现各种问题。有的时候会让你的程序根本无法运行起来,有的时候会让你的程序在运行过程中出毛病。如果是第一种情况,我们把这个问题叫...

    不可言诉的深渊
  • 软件架构30条原则

    原则 1: KISS (Keep it simple, stupid) “指设计时要坚持简约原则,避免不必要的复杂化。” 其思想是使用最简单的解决方案来完成这项...

    程序你好
  • 设计模式 -- 设计原则

    Define: Software entities like classes,modules and functions should be open for...

    Arbiter

扫码关注云+社区

领取腾讯云代金券