我们知道从Oracle9i开始,Oracle引入了Peeking of User-Defined Bind Variables的特性,这个特性可以用来在存在数据倾斜时对执行计划纠偏。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)然而这一特性也可能带来一些副作用,所以Oracle同时引入了一个内部参数用于控制这一特性:
SQL SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.inst_id = USERENV ('Instance')
4 AND y.inst_id = USERENV ('Instance')
5 AND x.indx = y.indx
6 AND x.ksppinm LIKE '%&par%'
7 /
Enter value for par: peek
old 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.
-The End-