SQL Server: confusion with data page size: 8060 + 96 bytes is still less than 8k bytes

SQL Server stores data on 8k (8192) byte pages . On the data page, 96 bytes are reserved for the page header. Given a maximum allowable throughput of 8060 bytes for a data page, another 36 bytes remain. But I could not find any links where this 36-byte block goes.

Any help?

+7
sql-server
source share
1 answer

The Slot Array / Row Offset Array is not set to a fixed size.

The page header occupies the first 96 bytes of each data page ( leaving 8,096 bytes for data, line overhead, and line offsets ). From this, the maximum size of one row of data can be 8,060 bytes.

The number of rows stored on this page depends on the structure table and the data stored. A table with all fixed-length columns can always store the same number of rows per page; Variable-length strings can store as many strings as they fit based on the actual length of the data entered.

For example, a page can contain more than 19 lines, where the size of each line is 403 bytes. In this case, the size of the array of slots will be 38 bytes.

0
source share

All Articles