;>>> 2011/12/04 20:25 +0100, Rafael Valenzuela >>>>
In one query,  I am comparing a string with a 'like=%patron%', but is very
slow and expensive .What is the best way to compare a string? like or
regular expression?
The data base is too big table 1TB, any idea? 
<<<<<<<<
Any decent implementation of "like '%patron%'" is in the gross linear, and 
also, say, LOCATE('patron', ) in a setting where only 0 or not 0 is tested for. 
If all your LIKE-searches look like this one, a string to be matched from a 
value by putting it between '%'s, maybe by using "LOCATE" you can save 
time--unless the MySQL developers were clever enough to make a special case of 
this, and used the same algorithm for both. (One can always use the Boyer-Moore 
algorithm for "LOCATE".)

In any case, if an in-the-gross-linear algorithm is used and that is too slow, 
indexing is the only help, and, as Shiva said, you have to know your problem.


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

Reply via email to