Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Создан кластерный индекс на поле ID
[id] [int] IDENTITY(1,1) NOT NULL
fill factor установлен на значении 90
Значения ID в таблице последовательны от 127 до 364

select count(1) from dbo.aaa  -- 237 записей
select sum(DATALENGTH(id)) from dbo.aaa  -- 948 (значение) Так можно узнать количество байт столбца, или это не верно?
dbcc showcontig (aaa)
Avg. Bytes Free per Page.....................: 1223.0


после добавления 1 записи
select sum(DATALENGTH(id)) from dbo.aaa  -- 952  (значение)  Почему не 951 ?
- Avg. Bytes Free per Page.....................: 1194.0


Pages Scanned - во всех случаях =1

Если 1 символ это 1 байт, тогда 1223 -1194 =29 это что? Думал, размер должен измениться на 3 байта т.к. вставился ID =365.
13 апр 12, 13:08    [12411461]     Ответить | Цитировать Сообщить модератору
 Re: Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Тип данных ineger занимает 4 байта
13 апр 12, 13:14    [12411507]     Ответить | Цитировать Сообщить модератору
 Re: Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Glory,
Понятно.
1223 -1194 =29 а это что я получил?
13 апр 12, 13:22    [12411577]     Ответить | Цитировать Сообщить модератору
 Re: Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
Glory
Member

Откуда:
Сообщений: 104751
trew
1223 -1194 =29 а это что я получил?

Каждая запись - это не только поля, из которых она состоит. Но и служебная информация
Если вы хотите точно знать, то есть много литературы с описанием каждого бита в физической организации данных.
Например, Inside SQL Server, Kalen Delanye
13 апр 12, 13:49    [12411800]     Ответить | Цитировать Сообщить модератору
 Re: Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
Alexei Khalyako
Member

Откуда:
Сообщений: 382
trew,

Pages scanned =1 - > Это количество страниц, которые нужно было SQL прочитать, чтобы вытащить необходимые данные.
Размер страницы - 8К
13 апр 12, 14:01    [12411915]     Ответить | Цитировать Сообщить модератору
 Re: Размер записи 1 байт, кластерный индекс (ms sql 2008r2)  [new]
Alexei Khalyako
Member

Откуда:
Сообщений: 382
Alexei Khalyako
trew,

Pages scanned =1 - > Это количество страниц, которые нужно было SQL прочитать, чтобы вытащить необходимые данные.
Размер страницы - 8К


тут еще полезная информация, о том, как расичтывать объем данных в индексе, если именно эта задача и решается:
http://msdn.microsoft.com/en-us/library/ms178085.aspx
13 апр 12, 14:03    [12411938]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить