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?
Asked
Active
Viewed 883 times
1 Answers
2
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 Bell
- 67,440
- 6
- 73
- 143
-
Brad, if we're using MySQL 5.6, would there be any issue with switching the searchindex table to InnoDB? – John O Dec 15 '15 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. – Brad Bell Dec 15 '15 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... – RitterKnight Dec 15 '15 at 18:23