티스토리 뷰

불필요한 NVL 피하기

* NULL value에 대한 오류를 방지하기 위하여 불필요한 NVL 함수를 사용하여 DBMS의 부하 유발함. 

# (1) NVL() : 100 + NVL() : 100 + SUM() : 1 = 201번 
 SELECT SUM(ISNULL(COL1, 0) + ISNULL(COL2, 0)) FROM TABLE_A;
 
# (2) SUM() : 1 + SUM() : 1+NVL() : 2 = 4번
 SELECT ISNULL(SUM(COL1),0) + ISNULL(SUM(COL2, 0) FROM TABLE_A;


> (1)의 경우 함수사용 횟수는 NVL() : 100 + NVL() : 100 + SUM() : 1 = 201번
> (2)의 경우 함수사용 횟수는 SUM() : 1 + SUM() : 1+NVL() : 2 = 4번 
> (1) 보다는 (2)가 효율적이다.
>  SUM() 함수의 경우 NULL Value는 계산시 포함하지 않으므로 오류가 발생하지 않음.