Skip to content

Commit 60a92a7

Browse files
lthfacebook-github-bot
authored andcommitted
Enhance group-by loose index scan
Summary: This enhances the current group by plan so that every "gap attribute" is allowed to have a disjunction of equality predicates. The predicates from different attributes must still be conjunctive to each other though, and this is all enforced in check_key_infix. These were high level implementation points: - Change get_constant_key_infix to check_key_infix, which no longer extracts the constant key infix because it may not exist. Instead, it just checks conditions NGA1 and NGA2. - Instead the key ranges are extracted when the QUICK_SELECT_I plan is created after cost estimation. They are extracted into a DYANMIC_ARRAY of QUICK_RANGEs, similar to how MIN/MAX ranges are currently implemented. - QUICK_GROUP_MIN_MAX_SELECT::get_next is extended so that all permutations of the equality predicates on the gap attribute are iterated through for every group. This logic most resides in append_next_infix. - The cost model is updated so that the number of "groups" is multiplied by the total number of permutations of equality predicates over the gap attributes. Currently, we still only allow equality predicates over gap attributes, but it can be extended into arbitrary ranges. The use of QUICK_RANGE should make that extension fairly easy. Reviewed By: hermanlee Differential Revision: D7535099 fbshipit-source-id: a53245a
1 parent 2f3d428 commit 60a92a7

11 files changed

+649
-187
lines changed

mysql-test/r/group_min_max.result

Lines changed: 235 additions & 3 deletions
Large diffs are not rendered by default.

mysql-test/r/index_merge_myisam.result

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,19 +1550,19 @@ DROP TABLE t1,t2;
15501550
#
15511551
select @@optimizer_switch;
15521552
@@optimizer_switch
1553-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1553+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15541554
set optimizer_switch='index_merge=off,index_merge_union=off';
15551555
select @@optimizer_switch;
15561556
@@optimizer_switch
1557-
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1557+
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15581558
set optimizer_switch='index_merge_union=on';
15591559
select @@optimizer_switch;
15601560
@@optimizer_switch
1561-
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1561+
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15621562
set optimizer_switch='default,index_merge_sort_union=off';
15631563
select @@optimizer_switch;
15641564
@@optimizer_switch
1565-
index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1565+
index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15661566
set optimizer_switch=4;
15671567
set optimizer_switch=NULL;
15681568
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'NULL'
@@ -1588,21 +1588,21 @@ set optimizer_switch=default;
15881588
set optimizer_switch='index_merge=off,index_merge_union=off,default';
15891589
select @@optimizer_switch;
15901590
@@optimizer_switch
1591-
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1591+
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15921592
set optimizer_switch=default;
15931593
select @@global.optimizer_switch;
15941594
@@global.optimizer_switch
1595-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1595+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
15961596
set @@global.optimizer_switch=default;
15971597
select @@global.optimizer_switch;
15981598
@@global.optimizer_switch
1599-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1599+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
16001600
#
16011601
# Check index_merge's @@optimizer_switch flags
16021602
#
16031603
select @@optimizer_switch;
16041604
@@optimizer_switch
1605-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1605+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
16061606
create table t0 (a int);
16071607
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
16081608
create table t1 (a int, b int, c int, filler char(100),
@@ -1712,5 +1712,5 @@ id select_type table type possible_keys key key_len ref rows Extra
17121712
set optimizer_switch=default;
17131713
show variables like 'optimizer_switch';
17141714
Variable_name Value
1715-
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
1715+
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
17161716
drop table t0, t1;

mysql-test/r/mysqld--help-notwin-profiling.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -750,8 +750,8 @@ The following options may be given as the first argument:
750750
mrr_cost_based, materialization, semijoin, loosescan,
751751
firstmatch, subquery_materialization_cost_based,
752752
block_nested_loop, batched_key_access,
753-
use_index_extensions, skip_scan, skip_scan_cost_based}
754-
and val is one of {on, off, default}
753+
use_index_extensions, skip_scan, skip_scan_cost_based,
754+
multi_range_groupby} and val is one of {on, off, default}
755755
--optimizer-trace=name
756756
Controls tracing of the Optimizer:
757757
optimizer_trace=option=val[,option=val...], where option
@@ -2044,7 +2044,7 @@ optimizer-full-scan TRUE
20442044
optimizer-low-limit-heuristic TRUE
20452045
optimizer-prune-level 1
20462046
optimizer-search-depth 62
2047-
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
2047+
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
20482048
optimizer-trace
20492049
optimizer-trace-features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
20502050
optimizer-trace-limit 1

mysql-test/r/mysqld--help-notwin.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -750,8 +750,8 @@ The following options may be given as the first argument:
750750
mrr_cost_based, materialization, semijoin, loosescan,
751751
firstmatch, subquery_materialization_cost_based,
752752
block_nested_loop, batched_key_access,
753-
use_index_extensions, skip_scan, skip_scan_cost_based}
754-
and val is one of {on, off, default}
753+
use_index_extensions, skip_scan, skip_scan_cost_based,
754+
multi_range_groupby} and val is one of {on, off, default}
755755
--optimizer-trace=name
756756
Controls tracing of the Optimizer:
757757
optimizer_trace=option=val[,option=val...], where option
@@ -2042,7 +2042,7 @@ optimizer-full-scan TRUE
20422042
optimizer-low-limit-heuristic TRUE
20432043
optimizer-prune-level 1
20442044
optimizer-search-depth 62
2045-
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
2045+
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
20462046
optimizer-trace
20472047
optimizer-trace-features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
20482048
optimizer-trace-limit 1

mysql-test/r/optimizer_switch.result

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,47 @@ BUG#37120 optimizer_switch allowable values not according to specification
33

44
select @@optimizer_switch;
55
@@optimizer_switch
6-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
6+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
77
set optimizer_switch='default';
88
set optimizer_switch='materialization=off';
99
select @@optimizer_switch;
1010
@@optimizer_switch
11-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
11+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
1212
set optimizer_switch='default';
1313
set optimizer_switch='semijoin=off';
1414
select @@optimizer_switch;
1515
@@optimizer_switch
16-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
16+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
1717
set optimizer_switch='default';
1818
set optimizer_switch='loosescan=off';
1919
select @@optimizer_switch;
2020
@@optimizer_switch
21-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
21+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
2222
set optimizer_switch='default';
2323
set optimizer_switch='semijoin=off,materialization=off';
2424
select @@optimizer_switch;
2525
@@optimizer_switch
26-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
26+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
2727
set optimizer_switch='default';
2828
set optimizer_switch='materialization=off,semijoin=off';
2929
select @@optimizer_switch;
3030
@@optimizer_switch
31-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
31+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
3232
set optimizer_switch='default';
3333
set optimizer_switch='semijoin=off,materialization=off,loosescan=off';
3434
select @@optimizer_switch;
3535
@@optimizer_switch
36-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
36+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=off,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
3737
set optimizer_switch='default';
3838
set optimizer_switch='semijoin=off,loosescan=off';
3939
select @@optimizer_switch;
4040
@@optimizer_switch
41-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=off,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
41+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=off,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
4242
set optimizer_switch='default';
4343
set optimizer_switch='materialization=off,loosescan=off';
4444
select @@optimizer_switch;
4545
@@optimizer_switch
46-
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=on,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on
46+
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=off,semijoin=on,loosescan=off,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on,skip_scan=off,skip_scan_cost_based=on,multi_range_groupby=on
4747
set optimizer_switch='default';
4848
create table t1 (a1 char(8), a2 char(8));
4949
create table t2 (b1 char(8), b2 char(8));

0 commit comments

Comments
 (0)