Mysql – If all tables are theisam, should I use theisam engine instead of default innodb

innodbmyisamMySQL

I have read all of the innodb/myisam threads and they are confusing. Everyone says innodb but I am assuming that they are saying innodb engine with innodb tables.?

The software I am using creates myisam tables so I was wondering if I should switch from the default innodb engine to myisam engine and disable innodb since I do not have a single table that is innodb?

Best Answer

Software that uses MyISAM tables is often a sign that you are dealing with amateur quality software. There have been very few valid reasons to use MyISAM for several years, now... ACID and intelligent crash recovery and foreign key constraints are just a few things that come to mind that MyISAM will never dream of being able to provide.

Turning off InnoDB because you aren't using it is also an exercise in futility and short-sighted at best. It is essentially just tinkering with your server for no good reason. Leave that setting, and virtually all of the other settings, at their default values unless you have a specific reason to change them. Tweaking parameters requires discipline and deliberate, well-informed action.

Oracle has officially deprecated the ability to do this, anyway. As of now, in 5.6.23, disabling InnoDB still works, but results in a warning that it is a capability that will subsequently be removed... which should tell you something about whether it's a good idea. http://dev.mysql.com/doc/refman/5.6/en/innodb-turning-off.html