• Columns lengths have another effect on memory allocation as well.  SQL reserves memory prior to processing a table.  It determines the amount of memory to reserve partly based on column lengths, as would typically make sense.  Thus, though, if you have a lot of columns defined as, say, varchar(500) or varchar(1000) even they only ever used 10 bytes, you would cause SQL to pre-allocate a lot more memory than it would really need.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.