De stand-alone functie kan veel sneller zijn als u deze instelt op DETERMINISTIC en als de gegevens zeer repetitief zijn. Op mijn computer verminderde deze instelling de looptijd van 9 seconden naar 0,1 seconden. Om redenen die ik niet begrijp, verbetert deze instelling de prestaties van de objectfunctie niet.
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;
/