Narzut wielkości wiersza

Mam udostępnioną bazę danych MS SQL Server 2008 na współdzielonym hostingu i muszę maksymalnie zmniejszyć wykorzystaną przestrzeń pamięci. Moja największa tabela ma następującą definicję:

CREATE TABLE [stage](
    [station_id] [smallint] NOT NULL,
    [time_utc] [smalldatetime] NOT NULL,
    [stage_mm] [smallint] NOT NULL,
CONSTRAINT [PK_stage] PRIMARY KEY CLUSTERED ([station_id] ASC,[time_utc] ASC)

Próbowałem znaleźć średnią liczbę bajtów na rekord w mojej tabeli. Zgodnie z teorią rozmiar powinien wynosić: 4B (nagłówek wiersza) + 2B (smallint) + 4B (smalldatetime) + 2B (smallint), który wynosi 12 bajtów.

Jednak po uruchomieniu polecenia:

dbcc showcontig ('stage') with tableresults

Pokazuje: MinimumRecordSize = 15, MaximumRecordSize = 15 Tak więc według SQL Server bajty na rekord wynoszą 15, a nie 12 Liczba 15 bajtów na rekord wydaje się również poprawna, gdy patrzę na całkowitą przestrzeń dyskową zajmowaną przez tabelę i dzielę ją Liczba rzędów.

Co zajmuje 3 dodatkowe bajty ??

questionAnswers(2)

yourAnswerToTheQuestion