इन छोटी विधियों के कई नुकसान हैं। वे धीमे, सहज, संभावित रूप से छोटी गाड़ी हैं (जब भी संभव हो जादू मूल्यों से बचें), और सामान्य स्थितियों जैसे AND/OR/IS NULL/IS NOT NULL से अधिक स्वामित्व वाली हैं।
NVL, DECODE, COALESCE, आदि आपके विचार से अधिक महंगे हो सकते हैं।
मैंने इसे कई बार कई अलग-अलग संदर्भों में देखा है, यहां एक सरल उदाहरण दिया गया है:
--Shorter method: Takes about 0.45 seconds
declare
j number;
begin
for i in 1 .. 1000000 loop
j := i;
if nvl(i <> j, (i is null) <> (j is null)) then
null;
end if;
end loop;
end;
/
--Normal method: Takes about 0.25 seconds
declare
j number;
begin
for i in 1 .. 1000000 loop
j := i;
if i <> j or (i is null and j is not null) or (i is not null and j is null) then
null;
end if;
end loop;
end;
/
मैं अनुशंसा करता हूं कि आप इसे तार्किक तरीके से टाइप करने के लिए अतिरिक्त सेकंड खर्च करें। आपका कोड बेहतर दिखेगा और तेजी से चलेगा।