summaryrefslogtreecommitdiff
path: root/mysql-test/main/index_merge_myisam.result
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2019-08-29 15:37:49 +0300
committerSergei Petrunia <psergey@askmonty.org>2019-08-30 12:02:40 +0300
commitef76f81c982bdbcfa4797ce26224db9c016ddebd (patch)
tree2f65a45620e011e24ddd4fd80d2eae35a28c4f7a /mysql-test/main/index_merge_myisam.result
parentd58437d1956b2fd92197beac2e9c869ef968eba7 (diff)
downloadmariadb-git-ef76f81c982bdbcfa4797ce26224db9c016ddebd.tar.gz
MDEV-20109: Optimizer ignores distinct key created for materialized...
(Backported to 10.3, addressed review input) Sj_materialization_picker::check_qep(): fix error in cost/fanout calculations: - for each join prefix, add #prefix_rows / TIME_FOR_COMPARE to the cost, like best_extension_by_limited_search does - Remove the fanout produced by the subquery tables. - Also take into account join condition selectivity optimize_wo_join_buffering() (used by LooseScan and FirstMatch) - also add #prefix_rows / TIME_FOR_COMPARE to the cost of each prefix. - Also take into account join condition selectivity
Diffstat (limited to 'mysql-test/main/index_merge_myisam.result')
-rw-r--r--mysql-test/main/index_merge_myisam.result5
1 files changed, 3 insertions, 2 deletions
diff --git a/mysql-test/main/index_merge_myisam.result b/mysql-test/main/index_merge_myisam.result
index 37f5e15a5f7..218f1a9787e 100644
--- a/mysql-test/main/index_merge_myisam.result
+++ b/mysql-test/main/index_merge_myisam.result
@@ -556,8 +556,9 @@ where exists (select 1 from t2, t3
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
-1 PRIMARY t3 ALL a,b NULL NULL NULL 1002 Range checked for each record (index map: 0x3); FirstMatch(t1)
+1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
+2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2
+2 MATERIALIZED t3 ALL a,b NULL NULL NULL 1002 Range checked for each record (index map: 0x3)
select * from t1
where exists (select 1 from t2, t3
where t2.a=t1.a and (t3.a=t2.b or t3.b=t2.b or t3.b=t2.b+1));