0

Drupal installation creates innoDB tables even though myIAM is set as default in my.ini

whenever i install a new Drupal 7.26 on my XAMPP (ApacheFriends XAMPP Version 1.8.2) running under Windows 7 I get innoDB tables in my database.

I put the following line in my my.ini file under [mysqld]

default-storage-engine=MyISAM

But still - after installing Drupal the tables are all innoDB?

What is is that i do wrong?

1 Answer 1

1

Drupal overrides the default to set it to innoDB because innoDB is a better choice for Drupal in many cases. Two main reasons for this:

  1. InnoDB supports transactions; MyISAM doesn't.

  2. When a row in a MyISAM table is being updated, the entire table is locked, so no other process can write to it. InnoDB locks rows in tables, rather than entire tables. For example, on this site, if many people are writing to the comments table at the same time, they would have to wait in a queue if the table were myISAM, but with innoDB, multiple writes can happen simultaneously, provided they're not to the same row in the table. This has obvious performance ramifications.

If you absolutely have to, you can edit the information schema table in mysql to set all the tables to MyISAM, but make sure you know what you're doing...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.