Correct a merge error.
This commit is contained in:
parent
fc0a6dd57f
commit
e1e04c3d68
@ -501,3 +501,57 @@ SELECT * FROM v1, t2 WHERE ( f1, f2 ) IN ( SELECT f1, f1 FROM t1 );
|
|||||||
set join_cache_level = default;
|
set join_cache_level = default;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-6041: ORDER BY+subqueries: subquery_table.key=outer_table.col is not recongized as binding
|
||||||
|
--echo #
|
||||||
|
create table t1(a int) engine=innodb;
|
||||||
|
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
|
|
||||||
|
create table t2(
|
||||||
|
id int primary key,
|
||||||
|
key1 int,
|
||||||
|
col1 int,
|
||||||
|
key(key1)
|
||||||
|
) engine=innodb;
|
||||||
|
|
||||||
|
insert into t2
|
||||||
|
select
|
||||||
|
A.a + B.a*10 + C.a*100 + D.a* 1000,
|
||||||
|
A.a + 10*B.a,
|
||||||
|
123456
|
||||||
|
from t1 A, t1 B, t1 C, t1 D;
|
||||||
|
|
||||||
|
--echo # Table tsubq:
|
||||||
|
--echo # - must use 'ref' (not 'index'), and must not use 'Using filesort'
|
||||||
|
--echo # - shows a bad estimate for 'rows' (but I'm not sure if one can do better w/o histograms)
|
||||||
|
explain select
|
||||||
|
(SELECT
|
||||||
|
concat(id, '-', key1, '-', col1)
|
||||||
|
FROM t2
|
||||||
|
WHERE t2.key1 = t1.a
|
||||||
|
ORDER BY t2.id ASC LIMIT 1)
|
||||||
|
from
|
||||||
|
t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-6081: ORDER BY+ref(const): selectivity is very incorrect (MySQL Bug#14338686)
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
alter table t2 add key2 int;
|
||||||
|
update t2 set key2=key1;
|
||||||
|
alter table t2 add key(key2);
|
||||||
|
analyze table t2;
|
||||||
|
flush tables;
|
||||||
|
--echo # Table tsubq must use 'ref' + Using filesort (not 'index' w/o filesort)
|
||||||
|
--replace_column 9 #
|
||||||
|
explain select
|
||||||
|
(SELECT
|
||||||
|
concat(id, '-', key1, '-', col1)
|
||||||
|
FROM t2
|
||||||
|
WHERE t2.key1 = t1.a
|
||||||
|
ORDER BY t2.key2 ASC LIMIT 1)
|
||||||
|
from
|
||||||
|
t1;
|
||||||
|
|
||||||
|
drop table t1,t2;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user