SQL> show parameter cursor
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing string EXACT
EXACT默认值
similar 和 force的区别:
select * from dba_object_v where id=1 and owner=sys
similar 时,CBO会先检查每个谓词的值,如有值有改变,CBO认为SQL的执行计划有可能改变,就重新一次硬分析。
比如ID列上有索引,owner列上没有索引,当ID的值改变,就会重新分析一次,而owner上的列没有索引,所以它的值改变不会发生硬分析
force 时,CBO不会检查值,直接绑定。
OLAP类型的数据库设置成EXACT,
OLTP类型当应用没有使用绑定变量时可以考虑similar