スタンドアロン関数は、DETERMINISTICに設定し、データの反復性が高い場合、はるかに高速になる可能性があります。私のマシンでは、この設定により実行時間が9秒から0.1秒に短縮されました。理由により、設定によってオブジェクト関数のパフォーマンスが向上しないことを理解していません。
create or replace function isValid2(v in varchar2, format in varchar2)
return valObj
deterministic --<< Hit the turbo button!
is
test number;
begin
if format = 'number' then
begin
test := to_number(v);
return valObj(1,null);
exception when VALUE_ERROR then return valObj(0,'Invalid number. Valid formats are: 12345, 12345.67, -12345, etc...');
end;
end if;
end;
/