innodb and Myisam
7 Replies
In many web articles you'll find the reverse, where people tell you to use MyISAM because it's faster. This used to be the case, but nowadays it tends to be outdated. InnoDB is the default choice for tables because of it's more controlled caching, almost equal (and often even better) performance and much better concurrency.
Is that too not true anymore?
Personally, I have a separate Linode for mysql, 2 for web and 1 for monitoring and various other tasks. I don't mind the slightly larger footprint of InnoDB. Especially if you take into account that MyISAM relies on OS filesystem cachign for it's performance. Under Innodb, this is kept within the inndob buffers as far as I know.
As with all general rules, take it with a grain of salt.
Drupal is moving from MyISAM to InnoDB as the default in version 7.
It is magnitudes faster with a very low footprint both on CPU and memory side. It is insanely easy to set up (took me 4 hours the other day, and that was my first time using it/setting it up after having heard many many stories about it), and opens the door to all kinds of trickery the simple fulltext solution of MyISAM does not have (soundex, synonyms, etc).
If you use the OurDelta builds of MySQL, the SphinxSE storage engine is included. That makes it even easier to convert your application to work with sphinx, usually then just requiring a simple rewrite of queries.