Oracle
 sql >> Base de données >  >> RDS >> Oracle

Ajout de plusieurs fonctions de validation (UDF) à Oracle - Quelle méthode s'exécute le plus rapidement

La fonction autonome peut être beaucoup plus rapide si vous la définissez sur DETERMINISTIC et si les données sont très répétitives. Sur ma machine, ce paramètre a réduit le temps d'exécution de 9 secondes à 0,1 seconde. Pour des raisons que je ne comprends pas, ce paramètre n'améliore pas les performances de la fonction d'objet.

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;
/