正确认识Oracle Peeking绑定变量的控制
来源:岁月联盟
时间:2008-01-28
从Oracle9i开始,Oracle引入了"Peeking of User-Defined Bind Variables"特性,这个特性可以用来在存在数据倾斜时对执行计划纠偏。但是这一特性也可能引发一些副作用,所以Oracle同时引入了一个内部参数用于控制这一特性:
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ2 FROM SYS.x$ksppi x, SYS.x$ksppcv y3 WHERE x.inst_id = USERENV ('Instance')4 AND y.inst_id = USERENV ('Instance')5 AND x.indx = y.indx6 AND x.ksppinm LIKE '%&par%'7 /Enter value for par: peekold 6: AND x.ksppinm LIKE '%&par%'new 6: AND x.ksppinm LIKE '%peek%'NAME VALUE DESCRIB------------------------------ --------------------_optim_peek_user_binds TRUE enable peeking of user binds |
注释:此参数缺省值为True,当设置为False时将禁用peeking of user binds。