List:Commits« Previous MessageNext Message »
From:Jorgen Loland Date:December 13 2010 11:15am
Subject:Re: bzr commit into mysql-trunk-bugfixing branch (tor.didriksen:3258)
Bug#58782
View as plain text  
Hi Øystein,

On 12/11/2010 09:21 AM, Øystein Grøvlen wrote:
> Thanks Tor,  Looks good.  Approved.
> See below for one question:
...
>> === modified file 'mysql-test/r/myisam_mrr_cost_icp.result'
>> --- a/mysql-test/r/myisam_mrr_cost_icp.result 2010-12-06 13:10:10 +0000
>> +++ b/mysql-test/r/myisam_mrr_cost_icp.result 2010-12-10 15:00:25 +0000
>> @@ -347,7 +347,7 @@ GROUP BY t2.pk
>> );
>> id select_type table type possible_keys key key_len ref rows filtered
>> Extra
>> 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
>> -2 SUBQUERY t2 ref int_key int_key 5 const 1 100.00 Using index
>> condition; Using where; Using filesort
>> +2 SUBQUERY t2 ref int_key int_key 5 const 1 100.00 Using index condition
>> Warnings:
>> Note 1003 select min(`test`.`t1`.`pk`) AS `MIN(t1.pk)` from
>> `test`.`t1` where 0
>> DROP TABLE t1, t2;
>
> For this query, if I replace GROUP BY with ORDER BY, "Using filesort" is
> still there. Is that a reason for concern?

It makes no sense to maintain ordering in an EXISTS subquery because we're only 
interested in whether or not there is (at least) one record in the subquery 
result. Hence, the rewritten GROUP BY is actually more correct than the plan for 
ORDER BY.

Tor, a possible extension to your patch is to unconditionally remove order by 
from exists subqueries like we do for IN/ALL/ANY, but I understand if you don't 
want to do this as part of this bugfix.

-- 
Jørgen Løland | Senior Software Engineer | +47 73842138
Oracle MySQL
Trondheim, Norway
Thread
bzr commit into mysql-trunk-bugfixing branch (tor.didriksen:3258) Bug#58782Tor Didriksen10 Dec
  • Re: bzr commit into mysql-trunk-bugfixing branch (tor.didriksen:3258)Bug#58782Jorgen Loland10 Dec
  • Re: bzr commit into mysql-trunk-bugfixing branch (tor.didriksen:3258)Bug#58782Øystein Grøvlen11 Dec
    • Re: bzr commit into mysql-trunk-bugfixing branch (tor.didriksen:3258)Bug#58782Jorgen Loland13 Dec