> You pretty much answered your own question. A char will always use the
> same amount of space (the max size), regardless of how little data you
> put in it. A varchar will only use enough space to store the data, so
> the amount of space used for each record will be different. You can
> also specify a max size for varchar. Text is like varchar, but with a
> "fixed" max size of 65,000 characters.
That's actually not entirely true :-)
Yes, it holds true for MySQL because of it's rather crappy implementation
on data storage in the current engines.
There's a -logical- difference between CHAR and VARCHAR in which
CHAR always adds padded spaces and VARCHAR strips these.
However, as I said, this is a -logical- difference. The space that is needed
for storage is a physical issue which is implementation defined. Another
storage engine can store CHAR and VARCHAR the same if it likes to do
that and so the space requirements can be (more or less) the same.
To answer this question truely, you need to know what storage engine is
used AND you need to know how the storage is implemented.
> > char limit 255 character fixed length
> > varchar limit 65,000 character variable length
> > text limit 65,000 character variable length.
Database Workbench - tool for InterBase, Firebird, MySQL, NexusDB, Oracle &
MS SQL Server
Database development questions? Check the forum!