Take the 2-minute tour ×

I am using mySQL server and I came to know that mySQL uses both InnoDB and MYISAM engine.So I want to know for any big project which engine should I choose InnoDB or MYISAM.

share|improve this question
That question is practically impossible to answer other than with "it depends on what you need". If you need ACID transactions, use InnoDB, if you don't care too much about perfect integrity but want raw speed, use InnoDB. –  Damon Jul 30 '11 at 19:32
Last one should by MyISAM. –  duffymo Jul 30 '11 at 19:34
Might I suggest that you probably don't need raw speed. If you do, you can make concessions when you need to, but InnoDB is much cleaner to work with. –  Clueless Jul 30 '11 at 19:34
Actually MySQL have much more engines, not only MyISAM and InnoDB. And there are a lot of third-party engines as well –  Darhazer Aug 2 '11 at 11:12
add comment

closed as not constructive by Michael Petrotta, Chris, Will Aug 2 '11 at 14:27


3 Answers

up vote 3 down vote accepted

InnoDB may be preferable when you have many foreign key relationships to manage, as it has the ability MyISAM lacks to enforce foreign keys and cascade deletes and updates.

The other important feature of InnoDB is transactions. If you have a need to process multiple statements as transactions, use InnoDB.

share|improve this answer
add comment

InnoDB is the more modern storage engine, and is considered more reliable (supporting things such as atomic transactions and foreign key constraints).

However, MyISAM may be more performant, and supports full text search.

If you don't need FTS, I would recommend InnoDB.

Some additional reading: http://blog.inetu.net/2009/04/mysql-innodb-or-myisam/

share|improve this answer
add comment

InnoDB should be the default for all new MySQL installations. Don't use MyISAM unless you have a very good reason to do so.

This article has a comparison of InnoDB vs. MyISAM: http://www.mysqlperformanceblog.com/2009/01/12/should-you-move-from-myisam-to-innodb/

Also see the following StackOverflow post: MyISAM versus InnoDB

share|improve this answer
add comment
