Library Cache优化与SQL游标

  • 时间:
  • 浏览:2
  • 来源:UU快3登录平台

参数optimizer_mode用于设置子游标的CBO优化器模式。

父游标的主要特点如下:

SQL一段话与游标关系如下:





表2-3 子游标组成形态学



子游标组成形态学 单元之间的关系,如图2-5所示:



示例2都还可以概括为图2-4:

当模式设置为FOCE时,可能性强制优化器共享父游标,而不管执行计划是是否最优。当条件允许时,都还可以采用一种生活 土法子来减少解析开销。如下所示:

FORCE模式建议从不过度使用,觉得一种生活 模式会强制SQL共享父游标,或者 原先可能性会忽略CBO优化器最优的执行计划,使得SQL执行有的是最优化的。

4.子游标相关参数

2.子游标组成形态学

都还可以看出,当模式设置为SIMILAR时,假如有一天SQL一段话类似就都还可以共享游标 。

父游标信息都还可以通过V$SQLAREA视图进行查询。

3.父游标相关查询

子游标的主要组成形态学 如表2-3所示:



都还可以看出在V$SQLAREA视图中,SQL_ID是唯一的,从侧面也都还可以说V$SQLAREA中每根记录代表另另一个父游标。

V$SQL主要特点有:

SQL一段话与父游标及子游标

cursor_sharing的3种模式:

父游标的主要组成形态学 如表2-2所示:

4.父游标相关参数

子游标

都还可以通过查询V$SQL_SHARED_CURSOR. OPTIMIZER_MISMATCH验证子游标不匹配(missmatch)是因为 :是是否由参数optimizer_mode是因为 的。如下所示:



子游标的主要特点有:

从上述示例都还可以看出,SQL一段话使用SQL_ID唯一标识父游标(V$SQLAREA),一起去该SQL一段话仅包含一父游标和另另一个子游标。

2.父游标组成形态学

3.子体游标相关查询

小提示





表2-2 父游标组成形态学

都还可以看多,另另一个SQL_ID(父游标)包含了多条记录,每条记录代表另另一个子游标。

当SQL一段话父游标不相同,其对应的子游标也肯定不同。

在PL/SQL中,游标(Cursor)是数据集遍历的内存集合。而从广义上讲, 游标是SQL一段话在Library Cache中的内存载体。



都还可以看出,在FORCE模式下,将2条内容不同的SQL强制共享父游标(使用系统绑定变量)。

1.子游标特点

V$SQL包含了父游标和子游标信息。

q 父游标是由SQL一段话决定;

q 父游标使用SQL一段话的SQL_ID唯一标识;

q 父游标包含一到多个子游标;

q 父游标与参数cursor_sharing紧密相关。

3.不同的SQL一段话的父游标或者 同,如下所示:

都还可以将后面 内容都还可以概括如图2-6所示:





图2-6 父子游标与optimizer_mode

来源:数据和云

V$SQLAREA主要特点有:

Library Cache主要用于存放SQL游标,而SQL游标最大化共享是Library Cache优化的重要途径,都还可以使SQL运行开销最低、性能最优。

都还可以通过以下示例进行验证:





图2-4 父子游标与cursor_sharing



通过图2-4都还可以看多,另另一个父游标都还可以包含多个子游标,验证了图2-2的正确性。

1.父游标特点

默认模式。只能SQL一段话内容全部一样,才会共享父游标(SQL一段话之间才会共享)。也或者 说,当用户端发起的SQL一段话假如有一天有一些不相同,就会产生不同的父游标,从而不多再共享SQL父游标。如下所示:

子游标信息都还可以通以V$SQL(X$KGLCURSOR_CHILD视图进行查询。

参数cursor_sharing决定父游标被共享的模式,用于减少解析带来的开销,提升SQL执行强度。

小提示

模式SIMILAR表示优化器在一定条件下会自动选取共享游标:

父游标组成形态学 单元之间的关系,如图2-3所示:

接下来对3种模式进行全部介绍。





图2-5 子游标组成形态学

都还可以看出,另另一个不同SQL一段话对应的SQL_ID或者 相同,产生了不同的父游标。

1.每根SQL一段话包含另另一个父游标(Parent Cursor)和一到多个子游标(Child Cursors),如图2-2所示。





图2-2 SQL一段话与游标

2.SQL一段话通过SQL_ID唯一标识父游标,如下所示:





图2-3 父游标组成形态学

Dear

跟着小编一起去读好书运动刚开始啦!咱们作为DBA不仅要内外部打扮一些人,更要从内内外部武装。近期,小编将分享冷菠老师的《Oracle高性能自动化运维》一部分精选章节分享我能 们。可能性你对内容很感兴趣,还是要去买一本比较好哦。





冷菠

冷菠,网名悠然(一些人主页http://www.orasky.net ),资深DBA,著有《Oracle高性能自动化运维》,有近10年的数据库运维、团队管理以及培训经验。曾担任美资企业Senior DBA职务、支付公司数据库团队负责人,现为培训机构重庆优唯佳科技公司技术合伙人。

父游标