From: Dan Nelson Date: September 12 2009 10:23pm Subject: Re: InnoDB doubles size when converting from MyIsam List-Archive: http://lists.mysql.com/mysql/218709 Message-Id: <20090912222354.GD54762@dan.emsphone.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In the last episode (Sep 12), Arthur Meeks Meeks said: > I have a database with about 1000 tables and 150GB. I have done a simple > "for f in $(cat tables); do mysql -uuser -ppassword database_name -e > "alter table $f engine=InnoDB;" ; done > > I took about 3 hours and everything went fine, but I just realised that > the same database in another server in myisam is about 150GB and in the > server where I converted it to innodb it's about 350GB. > > Is that normal? Yes; innodb tables will require quite a bit more space than myisam, because the table data itself is stored as an index (which means each page will be between 50% and 94% full), and because each row needs extra space to hold transaction and locking info. http://dev.mysql.com/doc/refman/5.1/en/dynamic-format.html http://dev.mysql.com/doc/refman/5.1/en/innodb-physical-structure.html http://dev.mysql.com/doc/refman/5.1/en/innodb-physical-record.html -- Dan Nelson dnelson@stripped