The key values stored are compressed. Any character string that ends in trailing spaces has its spaces removed. Because the segments of a key are variable length, pad bytes are added to distinguish the different segments. The most import compression is prefix compression. Within an index page, the first entry appears with only suffix compression.
Subsequent entries omit the part of the key that duplicates the preceding key value.
The header includes the number of bytes dropped from the beginning of the key. By the time a column value has been transformed into an index key, it is a string of bytes that sort in the desired order, so the compression is simple. A data page header contains the page type, the relation id, and the page number of the next page in the table, among other things. Unlike other pages, data pages have a significant structure at the bottom, called the row index. That index contains the actual location on page and the length of the stored row.