Looking at my database today notice this one table is MyISAM and also seems huge relative to all other tables with 147,835 rows. Is that normal? Shouldn't all tables be InnoDB? What would cause one to be MyISAM?
1 Answer
The searchindex
table has to be MyISAM because up until MySQL 5.6.4, MyISAM was the only engine that supported full text search indexing.
Craft currently supports back to MySQL 5.1.
It is normal for that table to be large because it's keeping a record of every searchable thing on your web site.
-
Brad, if we're using MySQL 5.6, would there be any issue with switching the searchindex table to InnoDB?– John ODec 15, 2015 at 16:06
-
3We haven't done extensive testing with it, but I've seen several installations running it as InnoDB and haven't heard of any issues. Dec 15, 2015 at 17:54
-
1Read an interesting article from Percona awhile back on different results with InnoDB vs MyISAM full text. Depending on what queries you run, the results could be better (or more "correct") on InnoDB, depending on how you have it configured. How that affects Craft I suppose more testing is needed. The article is also a couple years old too, things could have changed... Dec 15, 2015 at 18:23