ORACLE 数据库中最快的是什么?
在 select 语句中调用函数以检索每一行的单个值
SELECT field1, field2, F_GET_LIBELLE_STATUT( field2 ) FROM table1 WHERE ...
使用简单的功能:
create or replace
FUNCTION "F_GET_LIBELLE_STATUT" (v_statut NUMBER) RETURN VARCHAR2 IS
tmpVar VARCHAR2(40);
BEGIN
select libelle into tmpVar from t_statut_ope where id_statut = v_statut;
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END f_get_libelle_statut;
还是在选择语句中加入?
Select a.field1, a.field2, b.libelle
FROM table1 a LEFT JOIN t_statut_ope b ON b.id_statut = a.field2
WHERE ...
如果我在选择和子句条件中调用很多函数(十个或更多),答案是否相同?
感谢您的回答。