Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Значения NULL и занимаемое пространство  [new]
Edgar
Member

Откуда: Лондон
Сообщений: 434
Вопрос: занимает ли пространство (помимо метаданных) колонка, все значения которой содержат значения NULL?
Иначе: Есть ли разница в используемом пространстве между двумя одинаковыми таблицами содержащими 109 строк, в одной из которых есть дополнительное поле или несколько полей, содержащих исключительно значения NULL?
28 сен 11, 08:49    [11345750]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Edgar
Вопрос: занимает ли пространство (помимо метаданных) колонка, все значения которой содержат значения NULL?

да
28 сен 11, 08:55    [11345770]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
aleks2
Guest
Это зависит от типа поля. Для фиксированных по размеру полей - нету разницы.
28 сен 11, 08:59    [11345783]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
Edgar
Member

Откуда: Лондон
Сообщений: 434
тип данных varchar(15).
Сколько можно сэкономить места удалив такую колонку?
28 сен 11, 09:05    [11345796]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Edgar,

В MS SQL наличие значения NULL в поле определяется не значением поля, а NULL bitmap in row header (1 bit for each column in table; a 1 indicates that the corresponding column is NULL). И для полей переменной длины место на странице данных в таком случае не выделяется. varchar, собственно, таким типом и является.
28 сен 11, 09:07    [11345804]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

2 байта в строке на длину значения может выделяться (а может и нет - зависит от положения
столбца в таблице). и, само-собой, лишний бит в null-bitmap может лишний байт дать в итоге.
итого - от 0 до 3 байт на строку в зависимости от.

Posted via ActualForum NNTP Server 1.4

28 сен 11, 09:20    [11345830]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35398
Блог
Возможно ТС стоить почитать это
http://msdn.microsoft.com/ru-ru/library/cc280604.aspx
28 сен 11, 09:42    [11345946]     Ответить | Цитировать Сообщить модератору
 Re: Значения NULL и занимаемое пространство  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
А ещё есть SPARSE колонки (разрежённые столбцы).
28 сен 11, 11:32    [11346742]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить