次のスクリプトがあります。実行時間を短縮するために、 get_function() を定数 'ABCD' ( get_function() の結果) に置き換えました。実行時間が短縮されると期待していますが、興味深いことに、実行時間はほぼ 4 倍に増加しています。
alter system flush buffer_cache;
alter system flush shared_pool;
Set timing on;
declare x number(3);
begin
select v.QTY
into x
from viewName v
where v.col1 = get_function() --'ABCD';
exception when others then dbms_output.put_line(sqlerrm||' '||sqlcode);
end;
Set timing off;