SQL Server 2008, сколько места это занимает? - PullRequest
4 голосов
/ 06 января 2011

Я пытаюсь подсчитать, сколько места (Мб) это займет.В таблице базы данных есть 7-битные столбцы, 2 крошечных int и 1 guid.

Попытка вычислить количество, которое займет 16 000 строк.

Моя точка зрения заключалась в том, что 7-битные столбцыпотреблять 1 байт, 2 крошечных целых - 2 байта, а гид - 16 байтов.Всего 19 байт на одну строку в таблице?Что будет означать 304000 байт для 16 000 строк или ~ 0,3 Мб, что нам нужно?Также есть байт метаданных?

1 Ответ

6 голосов
/ 06 января 2011

Есть несколько оценщиков , которые убирают работу осла

Вы должны принять во внимание нулевое растровое изображение, которое в данном случае будет 3 байта + количество строк на странице + заголовок строки + версия строки + указатели + все вещи здесь:

Внутри механизма хранения: анатомия записи

Edit:

Ваши 19 байтов фактических данных

  • имеет 11 байтов служебной информации
  • всего 30 байт на строку
  • около 269 строк на странице (8096/30)
  • требуется 60 страниц (16000/269)
  • около 490 Кбайт (60 x 8192)

  • несколько КБ для структуры индекса первичного

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...