Хранение полей со значением NULL

Ann Harrison:
 

Каждый столбец, если он содержит значение NULL, отображается соответствующим битом в заголовке записи. Флаги NULL аллокируются в блоки по 8. Если таблица содержит 7 столбцов, то добавление пустого восьмого столбца никак не изменит размер заголовка записи. Добавление девятого столбца увеличит заголовок записи еще на один байт.

Представление значения NULL зависит от типа данных, и может быть пустым или заполненным нулями. Запись при хранении на диске подвергается сжатию RLL. При этом заполняющие пустое поле символы совпадают с последним символом предыдущего столбца, и как правило сжимаются полностью. Поэтому можно считать, что поля с NULL-значением не занимают никакого места на диске. 

Подпишитесь на новости Firebird в России

Подписаться