前段时间,我在一个门户网站上读到说oracle函数每次被调用时都会编译,但是今天我进行测试时,事实证明并非如此。我创建了一个像下面这样的简单函数
Create or replace function foo (p_in IN integer ) return integer
is
begin
return p_in + 5;
end;
编译时,我记下了以下查询的值
selectc last_ddl_time , timestamp from dba_objects where object_name = 'FOO';
我执行了几次,然后再次检查了上面查询的输出,但没有改变。
所以看来我以前读的内容不正确,但是我只是想确认一下。
答案 0 :(得分:1)
答案 1 :(得分:0)
Oracle函数肯定不会每次都编译。那将是非常低效的。