How varchar data is stored?
04 Oct 2012In SQL Server we use varchar
, varbinary
to save disk space in our tables. But it’s not saving data always as it sounds. When the data stores it takes a few extra bytes to describe the data length. Because of that, there is no gain using varchar(2)
. If you use varchar(2)
it will take 4 or 3 bytes to store data. varchar(8000)
or below should have 2 Byte offset to store the variability of character count. If you are using varchar(max)
is different. It should have 4 Bytes offset. But I’m still looking for that to confirm it takes 4 Bytes. And it is stored in Variable Column Offset Array.
More information: http://www.sqlservercentral.com/blogs/aschenbrenner/2011/06/29/the-mystery-of-the-null-bitmap-mask/
Tags
- Data Types
- varbinary
- varchar
- Architecture
- SQL Server