> query B can not used any key because 'like' never can use any key
Not true.  LIKE without a leading wildcard is optimized like a BETWEEN.

> -----Original Message-----
> From: Reindl Harald [mailto:h.rei...@thelounge.net]
> Sent: Friday, July 06, 2012 8:58 AM
> To: mysql@lists.mysql.com
> Subject: Re: Subquery taking too much time on 5.5.18?
> 
> 
> 
> Am 06.07.2012 17:46, schrieb Cabbar Duzayak:
> > Hi Everyone,
> >
> > I have been trying to understand why subqueries are taking tooo much
> > time on my installation of MySQL 5.5.18 on Ubuntu 11.10 release.
> >
> > In a nutshell, I have 2 tables: A and B. And, I do something like
> this:
> >
> > SELECT * FROM A WHERE A.id IN (SELECT A_ID FROM B WHERE B.name like
> > 'X%');
> >
> > Table A has 460,000 rows and Table B has 5000 rows, and A.id is my
> > primary key, and B.name is indexed. Also, the sub-query here (B.name
> > starts with X%) returns about 300 rows.
> 
> query B can not used any key because 'like' never can use any key
> 
> i try to avoid subqueries wherever i can becasue the mysql query-
> optmizer is really weak in most cases (it appears
> 5.6 will be much better in many of them)
> 
> such things i would always do with two queries in the application
> 
> * first the sub-query
> * genearte the query above with the results in the app
> * fire up the final query


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

Reply via email to