views:

72

answers:

1

Currently I have the following fulltext index setup:

fulltext on:

Number - Name - Suffix - Direction - City - State - ZIPCode

Select id, MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode) 
AGAINST ("Test") as Relevance from test where 1, 
and  MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode)     
AGAINST ("+Test" IN Boolean Mode) HAVING Relevance > 0.2

for an address. It currently is in a MyISAM db type for MySQL, however I'm really not liking how when expensive queries hit, they lock up the entire table, and over a million rows, I'm trying to optimize the best I can.

Would switching to Innodb help with this? Does Innodb support the type of query I have for MyISAM?

Any other suggestions on how to better optimize this query and keep with the full-text search?

Thank you!

+1  A: 

InnoDB does not support full-text searching.

Another option would be to use Sphinx, which is easy to setup and blazingly fast.

jonstjohn
Will look into this. Are there any other notable differences?
Frederico
I worked with fulltext searches for a while when trying to optimize an big application. The performance was so-so. We ended up switching to innodb and using additional indexes. The performance was about the same, although full wild-card search (e.g., '%some%') will be VERY slow. Finally, I switched to Sphinx and will never look back. Sphinx integrates well with MySQL, but runs as a separate process.
jonstjohn
Awesome will give it a whirl! Thanks:D
Frederico