ITPub博客

首页 > 数据库 > Oracle > ORACLE中Cursor_sharing参数详解

ORACLE中Cursor_sharing参数详解

原创 Oracle 作者:yingyifeng306 时间:2022-04-15 12:02:50 0 删除 编辑

一、Cursor_sharing 简介

     这个参数是用来告诉 Oracle 在什么情况下可以共享游标,即 SQL 重用。

    Cursor_sharing 参数有 3 个值可以设置:

     1) 、 EXACT :通常来说, exact 值是 Oracle 推荐的,也是默认的,它要求 SQL 语句在完全相同时才会重用,否则会被重新执行硬解析操作。

     2) 、 SIMILAR : similar 是在 Oracle 认为某条 SQL 语句的谓词条件可能会影响到它的执行计划时,才会被重新分析,否则将重用 SQL 。

     3) 、 FORCE : force 是在任何情况下,无条件重用 SQL 。

 

二、会话级别实现Cursor_sharing 参数设置

 

会话一:

SQL> show parameter cursor_sharing

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cursor_sharing                       string      EXACT

 

SQL> alter session set cursor_sharing='force';

Session altered.

 

SQL> show parameter cursor_sharing

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cursor_sharing                       string      force

SQL>

SQL> exit

 

会话二:

[ora11203@yikuer ~]$ sqlplus / as sysdba

SQL> show parameter cursor_sharing

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cursor_sharing                       string      EXACT

 

 

三、使用hint 方式实现Cursor_sharing 参数设置

 

 

使用tkprof 进行分析

 

 

 

总结

会话级别和 hint 均可实现 Cursor_sharing 参数设置

方法分别是:

会话级别: alter session set cursor_sharing='force';

加 hint : select /*+ CURSOR_SHARING_EXACT */ count(*) from test123.MC_ASH_20201203;

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23732248/viewspace-2887281/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
ITpub论坛高可用版主,擅长研究Oracle 内部原理、新特性、高可用和性能调优等,多年来一直保持着对新事务旺盛的求知欲。热切关注 Oracle 和其它相关技术

注册时间:2011-10-12

  • 博文量
    291
  • 访问量
    1593086