On Sat, 21 Mar 2009 14:18:13 +0100 Daniel Carrera daniel.carrera@theingots.org wrote:
Hello,
For a Drupal 5 site, which MySQL engine should I use? MyISAM or InnoDB? I know that in general the answer is "it depends", but I was hoping that for the specific case of Drupal there might be a simpler (more useful) answer.
Any thoughts? I am happy to read documentation on the topic if there is any to be found. Today I've just been reading about MyISAM vs InnoDB in general.
It really depends on what you need to do. If you don't know it I'd go for MyISAM since most of the features you may be looking for in InnoDB are not really fully exploited by stock Drupal.
The reasons that may make you chose InnoDB may be the same to consider to add to the list PostgreSQL, but it really depends on what is your specific need.
Consider that anyway PostgreSQL support is (was) not as good as MySQL, anyway I never had serious issues.
The main annoyance was waiting some patch got included into core and having to re-patch every time a new point release comes out.
But in my experience the problems you may run into can be patched in 5 min.
Summing it up:
Drupal doesn't have support for transaction or referential integrity but you may need it if you're developing your own modules. If you've several writes or high concurrency and data integrity is important PostgreSQL may be an interesting option.
If you've a lot of read, and you don't mind having to deal with some inconsistency , MyISAM and replication may be fine.
I think InnoDB is "in between" without shining for any aspect. If I were looking for transactions and data integrity I'd take the InnoDB route just if I already invested a lot in MySQL.