Eu tenho uma tabela heap com cerca de 700k linhas. O tamanho da linha é de 34 bytes: (1x BIGINT, 2x SMALLINT, 2x BIT, 4X INT, 1x SMALLDATETIME). Por que o Data Space Used diz que esta tabela está ocupando quase 4000000 KB (4 GB) em Object Explorer Details. Ele é compactado com compactação PAGE.
Sei que devo estar perdendo algo neste cálculo porque tenho outra tabela de heap com 12,7 milhões de linhas que ocupa apenas 1,5 GB e tem um tamanho de linha de 356 bytes. Ele também é compactado com compactação PAGE.
EDIT: acabei de fazer um SELECT * INTO para ver qual seria o tamanho desses dados em outra tabela e são apenas 28MB...
A solução foi criar um índice clusterizado na tabela que reduziu imediatamente o tamanho dos dados para 13 MB. Descobri isso graças à seguinte postagem no StackOverflow: https://stackoverflow.com/questions/3336934/reduce-sql-server-table-fragmentation-without-adding-dropping-a-clustered-index