views:

30

answers:

1

I have a 9-million-row table in a MySQL database that needs full-text search against three of its fields. We thought the hard part would be finding that one-in-9-million row, but that's not what we ran up against.

Our problem is that one of them is a "location" field, so searches for "poughkeepsie" come back super-fast, but searches for "new york" take forever. Even to simply count the results, it appears MySQL JOINs the index to the table, which is slow.

There are three or four questions I could ask, or would ask a consultant that specialized in this kind of thing, but I'd really like Stack Overflow's opinions on one thing. Does it make any sense to consider any other open source database in this situation? This feature worked flawlessly in MS SQL, and there's pressure now to consider it again. I'd rather not, but if Postgres will have exactly the same full-text indexing problems, maybe that's what we're stuck with.

Thanks.

+1  A: 

Have a look at Sphinx and stick with mySQL.

Pete
that's actually the first thing we're trying. had some trouble compiling it for linux, but it seems to do the trick.
dnord
I've not had experience with postgres' performance with that dataset size, so I don't know if switching would help. Sphinx should definitely help without having to change RDBS at this point. Good luck!
Pete