日期:2014-05-17  浏览次数:20791 次

package执行效率问题??????????????
我有一段sql,执行结果5000条左右,然后有一个function,放在package中

这段sql运行时间4s左右,当调用package中的function时,效率就不可接受了,但是当我单独创建一个function时,调用效率

就可以,这是为什么啊,难道直接调用package的funcion时,整个package的内容有影响么,该怎么办


select * from table t --一段sql,结果5000条记录,时间4s

create package body pkg is
function fc。。。。

end

function other_fc...

end

然后调用pkg的fc

select t.*,pkg.fc(..) from table t--效率不可接受


但我直接创建fc时

create function fc。。。

然后调用
select t.*,fc(..) from table t --效率4s左右



其中fc内容是一样的




------解决方案--------------------
经测,执行效率是一样的,没发现会慢,包只是比较模块化,封装性比较好
------解决方案--------------------
不应该会这样啊,
你比较下两者的执行计划呢?
------解决方案--------------------
定位到慢的语句然后再分析.