보통 CASE() 또는 NVL()에서 NULL을 0으로 변환하여 처리하려 하는데,
이는 자원낭비를 야기함으로 지양하는 것이 좋다.
그 이유는 아래와 같은 두가지 특성에 기인한다.
아래 두 예시를 보면,
SUM (CASE MONTH WHEN 1 THEN SAL ELSE 0 END)
SUM(NVL (SAL,0))
첫번째 구문은 ELSE로 NULL인 경우를 0으로 변환한 뒤,
SUM()에서 불필요한 0을 계산에 포함시키기 때문에 비효율적이다.
두번째 구문 또한 NULL을 일부로 0으로 변환하여
SUM()에서 연산시키고 있다.
따라서 집계함수를 사용할 때는, null처리 시 불필요한 연산을 하고 있지
않은지 다시 한번 주의를 기울여야 한다.
-SQL 전문가 가이드, 한국데이터산업진흥원 p.215