List:General Discussion« Previous MessageNext Message »
From:Baron Schwartz Date:May 27 2009 5:15pm
Subject:Re: Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with
multiple a column key?
View as plain text  
Simon,

On Wed, May 27, 2009 at 11:23 AM, Simon J Mudd <sjmudd@stripped> wrote:
> perrin@stripped (Perrin Harkins) writes:
>
>> On Wed, May 27, 2009 at 6:43 AM, Simon J Mudd <sjmudd@stripped> wrote:
>> > So is the format of the DELETE FROM .. WHERE ... IN ( ... )  clause I
>> > propose valid and SHOULD the optimiser recognise this and be expected
>> > to just find the 2 rows by searching on the primary key?
>>
>> Not according to the docs:
>> http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html#function_in
>
> I'm not sure that the reference makes anything clear. The statements
> are wrote ARE valid SQL and even though containing mulitiple column
> values ARE "constants".
>
> Problem is I'm finding it hard to find a definitive reference to something
> like this. I'll have to check my Joe Celko books to see if he mentions ths.

Nothing's wrong with the SQL -- it's just that MySQL doesn't optimize
this type of query well.

See http://code.openark.org/blog/mysql/mysql-not-being-able-to-utilize-a-compound-index

Regards
Baron
Thread
Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with multiple a column key?Simon J Mudd27 May
  • Re: Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with multiple a column key?Perrin Harkins27 May
    • Re: Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with multiple a column key?Simon J Mudd27 May
      • Re: Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with multiple a column key?Baron Schwartz27 May
        • Re: Should I be able to DELETE FROM ... WHERE .. IN ( ... ) with multiple a column key?Moon's Father31 May