Uros Kotnik wrote:

It makes sense, but Sergei G. said : "And are you sure the numbers are correct, the first query - the one
without "IN BOOLEAN MODE" - is faster ? I would expect the opposite."


I guess that for my DB I can't expect satisfied "in boolena mode" times
?
But also when searching without "in boolean mode" and include search
criteria from TRACKS table, 13,841,930 rows , like "AND MATCH (
tracks.title) AGAINST ('remix')" I get ~10 sec. times.
Am I doing something wrong or this results are correct for this amount
of data, I would be satisfied with 0.5 - 1 sec. times

If I'm not mistaken, IN BOOLEAN MODE simply changes the parser logic. It tells MySql to process the "special" characters, like +-*"". I don't think it's the IN BOOLEAN MODE that is causing the slow query, but the fact that you are looking for the phrase.

If you were to do

SELECT artists.name, cds.title, tracks.title FROM artists, cds, tracks
WHERE artists.artistid = cds.artistid AND artists.artistid =
tracks.artistid AND cds.cdid = tracks.cdid AND MATCH (artists.name)
AGAINST ('madonna' IN BOOLEAN MODE) AND
MATCH (cds.title) AGAINST ('+music +mix +2001"'IN BOOLEAN MODE)

Then you'd probably still get the fast search time, since the query
simply requires all three words.   MySql can resolve this just using
the index.


In your example, the BOOLEAN MODE for


MATCH (artists.name) AGAINST ('madonna' IN BOOLEAN MODE)

isn't doing anything special, since you aren't using any
special chars to modify the search expression.







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



Reply via email to