더북(TheBook)

DB2에서는 비유일(Nonunique) 인덱스에 EXCLUDE NULL KEYS 옵션을 추가하면 널 값이 인덱스에 저장되지 않는다. 이것은 인덱스 컬럼 대다수의 값이 NULL일 때 특히 유용하며, 인덱스에 NULL이 없으므로 조건절에서 IS NULL 조건을 검사할 때 인덱스 대신 테이블 전체를 스캔한다. 인덱스에서 널 값을 제거하면 인덱스 저장 공간을 절약할 수 있다.

코드 2-2 DB2에서 표준 인덱스에 있는 널 값 제외 처리

CREATE INDEX CustPhone_IDX

  ON Customers (CustPhoneNumber)

  EXCLUDE NULL KEYS;


 

DB2는 VARCHARCHAR 타입 컬럼에 있는 빈 문자열을 널 값으로 처리하지 않는다. 하지만 LUW(리눅스, 유닉스, 윈도우)용 DB2에서 오라클 호환 옵션을 설정하면 VARCHAR 타입 컬럼에 들어오는 빈 문자열을 널 값으로 저장한다. 더 자세한 내용은 ‘오라클’ 부분에서 소개한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.