I add a column to a table with data type / length varchar(500). I then add 3 records to this table. Two records have a value of length 5 in the new column and the third has a value of length 500. Assuming all other columns have the same values for the three records, do they now all occupy the same space on disc or is the third row occupying more space?
If the former, what's the harm in setting N in varchar(N) to a very high number across all string field types where at some point there might be a need to utilise all of N? I could understand being conservative with setting N if one rogue value used N characters and the effect was a significant increase in storage allocation for every other record in the table. But if it only affects the one record, what's the harm in setting N very high?
Everything I read online says to be conservative when setting N, but I'm struggling to see why.