本主题说明什么是CURSOR_SHARING初始化参数,以及如何将其设置为不同的值会影响Oracle Database使用绑定变量的方式。
本节包含以下主题:
- CURSOR_SHARING初始化参数
CURSOR_SHARING初始化参数控制数据库进程使用绑定变量的语句。 - 当CURSOR_SHARING = FORCE
时的分析行为当 SQL语句使用文字而不是绑定变量时,将CURSOR_SHARING初始化参数设置为FORCE可使数据库用系统生成的绑定变量替换文字。使用这种技术,数据库有时可以减少共享SQL区域中父游标的数量。
20.2.1 CURSOR_SHARING初始化参数
在CURSOR_SHARING初始化参数控制数据库来处理使用绑定变量的语句。
在Oracle Database 12c中,该参数支持以下值:
EXACT这是默认值。该数据库仅允许文本相同的语句共享游标。数据库不会尝试用系统生成的绑定变量替换文字值。在这种情况下,优化器会根据文字值为每个语句生成一个计划。
FORCE数据库用系统生成的绑定变量替换所有文字。对于在绑定变量替换文字之后相同的语句,优化器使用相同的计划。
注意:
SIMILAR值CURSOR_SHARING已弃用。
您可以CURSOR_SHARING在系统或会话级别进行设置,也可以CURSOR_SHARING_EXACT在语句级别使用提示。
也可以看看:
“ 不要将CURSOR_SHARING = FORCE用作永久修复程序 ”
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




