I'm attempting to calculate just how much space (megabytes) this could occupy. Within the database table there's 7 bit posts, 2 small int and 1 guid.

Attempting to calculate the total amount that 16 000 rows would occupies.

My type of thought was that 7 bit posts consume 1 byte, 2 small ints consumes 2 bytes along with a guid consumes 16 bytes. Total of 19byte for just one row within the table? That will mean 304000 bytes for 16 000 rows or ~.3mbs us that correct? It is possible to meta data byte too?

You will find several estimators out there which get rid of the donkey work

You need to consider the Null bitmap which is 3 bytes within this situation + quantity of rows per page + row header + row version + pointers + everything here:

Inside the Storage Engine: Anatomy of a record


Your 19 bytes of actual data

  • has 11 bytes overhead
  • total 30 bytes per row
  • around 269 rows per page (8096 / 30)
  • requires 60 pages (16000 / 269)
  • around 490k space (60 x 8192)

  • a couple of KB for that index structure from the primary