Commit 02d91af9 authored by sunny's avatar sunny

Merge a change from MySQL AB:

ChangeSet@1.2536.50.1  2007-08-02 12:45:56-07:00  igor@mysql.com

Fixed bug#28404.
This patch adds cost estimation for the queries with ORDER BY / GROUP BY
and LIMIT.
If there was a ref/range access to the table whose rows were required
to be ordered in the result set the optimizer always employed this access
though a scan by a different index that was compatible with the required
order could be cheaper to produce the first L rows of the result set.
Now for such queries the optimizer makes a choice between the cheapest
ref/range accesses not compatible with the given order and index scans
compatible with it.

innodb.result: Adjusted results for test cases affected fy the fix for
bug #28404.
parent aaf0c557
...@@ -948,7 +948,7 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -948,7 +948,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 4 NULL # 1 SIMPLE t1 index NULL PRIMARY 4 NULL #
explain select * from t1 order by b; explain select * from t1 order by b;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL b 4 NULL # 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
explain select * from t1 order by c; explain select * from t1 order by c;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort 1 SIMPLE t1 ALL NULL NULL NULL NULL # Using filesort
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment