|
有skew data的时候,不使用绑定变量可能更好
因为你一旦使用绑定变量,peeking的话,就把计划固定了,比如where col=1,第一次硬解析固定了,走全表,col=1返回很多。但是万一我以后再经常查的col=2...都要求走索引好,那完蛋了。
所以有了cursor_sharing=similar,但是有BUG,也不好用。后来11g有adaptive cursor sharing,cardinality feedback...类似于similar.但是这东西也不能非常好滴解决这玩意,因为他要经常算你返回的基数来比较啊,比较完了,可能子游标生成很多啊。。。
都不能很好滴解决,当然11g的话,也只能用这个解决了,如果你的值类型很少,那么就不要绑定变量了,反而性能好 |
|