I want to know difference between varchar(255) in terms of
memory usage and programming problems of using more memory. The
difference is going to be in how much data you are allowed to
store there. The memory and disk space will depend on how much
is actually stored, not what limits you put in place. Most db's
(MySQL included) store varchar fields with a length identifier
and then a variable length data string. This means that the size
of the field on disk goes up more or less linearly with the
actual data stored. Similarly in memory, you aren't going to be
allocating a large amount of memory for a small string unless it
is padded (so varchar uses a lot less memory than char does
regardless of underlying storage of the latter). In fact some
db's like PostgreSQL store VARCHAR() and TEXT fields the same
(and there is a 1GB compressed size limit there) and try to
optimize storage based on actual requirements of the data being
used. In general these decisions should be made based on what
your data retention and c