mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Complete implementation of WL#1469 "Greedy algorithm to search for an optimal execution plan",
consisting of pos-review fixes and improvements. mysql-test/r/distinct.result: Adjusted to account for pre-sorting of tables before optimiziation. mysql-test/r/func_group.result: Adjusted to account for pre-sorting of tables before optimiziation. mysql-test/r/greedy_optimizer.result: - Adjusted to account for pre-sorting of tables before optimiziation. - Removed unnecessary test. - More comments. mysql-test/r/select.result: - Adjusted to account for pre-sorting of tables before optimiziation. mysql-test/t/greedy_optimizer.test: - Adjusted to account for pre-sorting of tables before optimiziation. - Removed unnecessary test. - More comments. sql/mysql_priv.h: Moved function print_plan() to sql_test.cc sql/sql_select.cc: - Simplified the recursion in best_extension_by_limited_search() and aligned it with its pseudo-code. - Renamed functions to better reflect their semantics. - Post-review changes of function specifications. - Moved function print_plan() to sql_test.cc. sql/sql_test.cc: Moved function print_plan() to sql_test.cc
This commit is contained in:
@@ -1393,8 +1393,8 @@ companynr companynr
|
||||
41 40
|
||||
explain select distinct t2.companynr,t4.companynr from t2,t4 where t2.companynr=t4.companynr+1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using temporary
|
||||
1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using where; Using index
|
||||
1 SIMPLE t4 index NULL PRIMARY 1 NULL 12 Using index; Using temporary
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1199 Using where
|
||||
select t2.fld1,t2.companynr,fld3,period from t3,t2 where t2.fld1 = 38208 and t2.fld1=t3.t2nr and period = 1008 or t2.fld1 = 38008 and t2.fld1 =t3.t2nr and period = 1008;
|
||||
fld1 companynr fld3 period
|
||||
038008 37 reporters 1008
|
||||
@@ -2314,8 +2314,8 @@ left join t4 on id3 = id4 where id2 = 1 or id4 = 1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 system NULL NULL NULL NULL 0 const row not found
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1
|
||||
1 SIMPLE t4 ALL id4 NULL NULL NULL 1 Using where
|
||||
1 SIMPLE t4 ALL id4 NULL NULL NULL 1
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1 Using where
|
||||
select * from t1 left join t2 on id1 = id2 left join t3 on id1 = id3
|
||||
left join t4 on id3 = id4 where id2 = 1 or id4 = 1;
|
||||
id1 id2 id3 id4 id44
|
||||
|
Reference in New Issue
Block a user