Does a row take up memory based on the size of its declared columns, even if the fields are null? <p>I'm curious if I declare a column to be, say, varchar(5000) and then start creating rows, but leaving that column with null values, how is memory allocated? Is the DB growing by 5000 bytes for every row? Or does it wait to allocate memory until a value actually is set? </p>