原帖由 sundog315 于 2010-9-29 09:59 发表 但是,如果在ID列有索引,不绑定SQL和普通变量绑定SQL,由于bind peeking的存在,都会选择正确的执行计划。sys_context由于将值进行了封装,无法进行bind peeking,将会导致选择错误的执行计划
使用道具 举报
原帖由 hponiang 于 2010-9-29 10:49 发表 执行计划我也关注过程,二者完全是一样的,但我在plsql里执行的耗时很有差异 我发现如果列出列名二者的差异就会少好多 SELECT * from dba_objects WHERE object_name = (SELECT object_name from dba_objects WHERE object_name = 'UNDO$'); SELECT * from dba_objects WHERE object_name = 'UNDO$'; 你就用这二句进行测试就可得知,如果你觉得这个视图太复杂,不便于分析你可以找一个你们使用中类似的表,要求 [object_name = 'UNDO$'](能唯一确定一条值且这列上没有索引)
本版积分规则 发表回复 回帖后跳转到最后一页