I'm evaluating MySQL FT search, and so far it's been
very disappointing. The queries on a test table of
about 2 million rows with Text columns (average 75
words per text column) are extremely slow, compared to
a regular FT search engine, like Lucene.

What's disturbing is that it doesn't consume any
significant CPU resources; it just simmers at around
2% to 5% utilization.

Please note that this is a development machine with a
single connection and no concurrent updates, so
locking is NOT an issue here. I'm just baffled that
MySQL idles by all this time doing virtually nothing
and taking forever to return an FT query that -- with
brute force -- it could've returned faster.

The query doesn't return the text columns themselves,
so there's no hard disk thrashing. It should
theoretically use an inverted FT index to get the list
of documents matching the word and just return the
corresponding primary keys from the table.

The table has the folloing structure:

IDCol int,
One text,
Two text,
three text

I have an FT index on each text columns, and the query
looks like this:

select IDCol from MyTable where match(One) against
('keyword') limit 2000

The query optimizer does the use the FT index built on
column One.

Why does the query simmer for so long with virtually
no CPU utilization?


                
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to