From: Martijn Tonies Date: October 20 2004 8:41am Subject: Re: Char to Varchar on Innodb List-Archive: http://lists.mysql.com/mysql/174512 Message-Id: <023501c4b680$9d51f640$0a02a8c0@martijn> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hello, > those 'silent column specification changes' affect all table types. That > feature has caused lots of user questions over years. It is in the TODO to > remove that feature from MySQL, because it is not standards compliant. In > InnoDB, a reason to use a CHAR column in some cases is to reduce > fragmentation if there are lots of updates to that column. A CHAR column > takes a fixed space. Silent column specification changes in many cases > defeat this optimization which would otherwise be available to users. I had a very long discussion with someone about this... He said the same as you. IMO, this is rubbish. Why should a CHAR column take up fixed space?? CHAR is a logical datatype. How you store it physically is up to the database engine implemenation. That means you can store it as number of flowers in a vase, or whatever ;-) No, seriously: there's no reason why you cannot store CHARs as VARCHARs, or put an extra compression over it, and return/use the values as char-padded values. With regards, Martijn Tonies Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL Server. Upscene Productions http://www.upscene.com