<p>The <code>searchindex</code> table <em>has</em> to be MyISAM because up until <a href="https://dev.mysql.com/doc/refman/5.6/en/fulltext-restrictions.html" rel="nofollow">MySQL 5.6.4</a>, MyISAM was the only engine that supported full text search indexing.</p>

<p>Craft currently supports back to <a href="http://buildwithcraft.com/docs/requirements#server-requirements" rel="nofollow">MySQL 5.1</a>.</p>

<p>It is normal for that table to be large because it's keeping a record of every searchable thing on your web site.</p>

CC BY-SA 3.0
2015-12-15T16:06:18.667Z
Brad, if we're using MySQL 5.6, would there be any issue with switching the searchindex table to InnoDB?
John O
CC BY-SA 3.0
2015-12-15T17:54:33.820Z
We 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
CC BY-SA 3.0
2015-12-15T18:23:54.103Z
Read an interesting [article from Percona](https://www.percona.com/blog/2013/03/04/innodb-full-text-search-in-mysql-5-6-part-2-the-queries/) 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
CC BY-SA 3.0
2014-11-07T01:50:22.940Z
2015-12-15T17:54:03.330Z
2015-12-15T17:54:03.330Z
Brad Bell
<p>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?</p>

<database>
craft_searchindex is MyISAM all others InnoDB
# craft_searchindex is MyISAM all others InnoDB

(Asked by: username_0 on 2014-11-07)

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?

**Tags:** database

---

## 1 answers

### Answer by username_1 on 2014-11-07. Score: 2 | Accepted answer

The `searchindex` table *has* to be MyISAM because up until [MySQL 5.6.4](https://dev.mysql.com/doc/refman/5.6/en/fulltext-restrictions.html), MyISAM was the only engine that supported full text search indexing.

Craft currently supports back to [MySQL 5.1](http://buildwithcraft.com/docs/requirements#server-requirements).

It is normal for that table to be large because it's keeping a record of every searchable thing on your web site.

> **Comments:**
> **username_2**: Brad, if we're using MySQL 5.6, would there be any issue with switching the searchindex table to InnoDB?  
> **username_1**: We haven't done extensive testing with it, but I've seen several installations running it as InnoDB and haven't heard of any issues.  
> **username_3**: Read an interesting [article from Percona](https://www.percona.com/blog/2013/03/04/innodb-full-text-search-in-mysql-5-6-part-2-the-queries/) 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...  

---

