NULL НИКОГДА не экономьте место хранения в DB2 для OS / 390 и z / OS. Каждый обнуляемый столбец требует одного дополнительного байта памяти для нулевого индикатора. Таким образом, для столбца CHAR (10), который может иметь значение NULL, потребуется 11 байт памяти на строку - 10 для данных и 1 для нулевого индикатора. Это имеет место независимо от того, установлено ли для столбца значение NULL или нет.
В DB2 для Linux, Unix и Windows есть опция сжатия, которая позволяет столбцам устанавливать нулевое значение для экономии места. При использовании этой опции DB2 удаляет неиспользуемое пространство из строки, в которой столбцы имеют значение NULL. Однако эта опция недоступна на мэйнфреймах.
REF: http://www.craigsmullins.com/bp7.htm
Итак, лучшая практика моделирования для DB2 Z / OS - это использовать "NOT NULL WITH DEFAULT" в качестве стандарта для всех столбцов. То же самое следовало в некоторых крупных магазинах, которые я знал. Облегчает жизнь программистам, не обращаясь к нулевому индикатору, и фактически экономит память, устраняя необходимость использовать дополнительный байт для нулевого указателя.