[nycphp-talk] MyISAM vs InnoDB

Rob Marscher rmarscher at
Thu Jan 21 13:15:45 EST 2010

On Jan 21, 2010, at 1:03 PM, Jake McGraw wrote:
> InnoDB for everything but tables that require fulltext search, which
> is not yet supported on InnoDB.

+1.  Another use for MyISAM is a log table that you never delete from and rarely read from.  But definitely go with InnoDB for everything - the row level (innodb) vs table level locking (myisam) on writes is the main reason InnoDB is almost always going to perform better for web applications regardless of whether you need transactions or foreign key support.  I also recommend setting innodb_file_per_table in your my.cnf which can help with the problem of disk usage after deleting data (innodb doesn't shrink the data file after a delete).  And throw a lot of memory at innodb_buffer_pool_size.

mysqltuner is a nice tool for getting recommendations on your server's settings (requires that you run your application for a while on the server so it can collect stats).

More information about the talk mailing list