You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#34347116 - Range intersection is not available for a compound
index when joining a derived table
Issue:
When merging the derived table, a nested join condition is added to
the derived table and the underlying tables are added to this join
nest. Also, the join condition is associated with the derived table
and not the table in the join nest.
Evaluating for range access is skipped if the table is inner table of
an outer join or if the table is inner and it is not a semi-join. In
this case the underlying base table is of the latter kind, the range
analysis is skipped and we do not have the range access method.
Fix:
If the embedded table is derived, use the join condition associated
with the derived table to evaluate range access.
Skip marking the table as "constant" if the range check evaluates to
"impossible range" and the condition used for the range check is from
the derived embedding table.
Change-Id: I31b2a739198d3e2e5d8aff3e0b049aa1549734a9
INSERT INTO t1 VALUES (1,1,'a'), (2,2,'b'), (3,4,'c'), (4,4,'z'),(5,5,'L');
3222
+
ANALYZE TABLE t1;
3223
+
3224
+
SELECTat1.c3FROM (t1 AS at1 LEFT JOIN (SELECT at2.*FROM (t1 AS at2 JOIN t1 AS at3 ON ((1,2) IN (SELECT c1,c1 FROM t1 as at4)))) AS at5 ONat5.c1=at1.c1);
1 SIMPLE t1 p4 eq_ref PRIMARY PRIMARY 4 test.t2.pk 1 100.00 Using where
6041
6041
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.t1.pk 1 100.00 Using where
6042
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where
6042
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6043
6043
Warnings:
6044
6044
Note 1003 /* select#1 */ select `test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c` from `test`.`t2` left join (`test`.`t1` semi join (`test`.`t3`)) on(((`test`.`t1`.`pk` = `test`.`t2`.`pk`) and (`<subquery3>`.`c` = `test`.`t2`.`pk`) and (`test`.`t1`.`pk` > 3) and (`test`.`t3`.`pk` > 2))) where true
6045
6045
SELECT * FROM t2 LEFT JOIN (SELECT * FROM t1 WHERE t1.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t13.pk = t2.pk AND t13.pk > 3;
@@ -6080,7 +6080,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
1 SIMPLE t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where; FirstMatch(tx)
6083
+
1 SIMPLE t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where; FirstMatch(tx)
6084
6084
Warnings:
6085
6085
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c`,`test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`pk` = `test`.`t1`.`pk`)) join `test`.`t3` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t1`.`pk`) and (`test`.`t3`.`c` = `test`.`t1`.`pk`) and (`test`.`t3`.`pk` > 2))) where ((`test`.`t3`.`pk` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` < 3))
6086
6086
SELECT * FROM (t1 LEFT JOIN t2 on t1.pk = t2.pk) JOIN (t3 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t3.pk = t13.pk) on t1.pk = t3.pk AND t1.pk < 3;
@@ -6094,7 +6094,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
6094
6094
1 SIMPLE t3 p0,p1,p2 ALL PRIMARY NULL NULL NULL 2 100.00 Using where
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.tx.pk 1 100.00 Using where
6097
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where
6097
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6098
6098
Warnings:
6099
6099
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c`,`test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c` from `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`pk` = `test`.`t1`.`pk`)) left join (`test`.`t3` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t1`.`pk`) and (`<subquery3>`.`c` = `test`.`t1`.`pk`) and (`test`.`t3`.`pk` > 2)))) on(((`test`.`t3`.`pk` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` < 3))) where true
6100
6100
SELECT * FROM (t1 LEFT JOIN t2 on t1.pk = t2.pk) LEFT JOIN (t3 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t3.pk = t13.pk) on t1.pk = t3.pk AND t1.pk < 3;
@@ -6126,7 +6126,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
6126
6126
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.tx.pk 1 100.00 Using where
6127
6127
1 SIMPLE t1 p0,p1,p2 ALL PRIMARY NULL NULL NULL 2 100.00 Using where
6128
6128
1 SIMPLE t2 NULL eq_ref PRIMARY PRIMARY 4 test.t1.pk 1 100.00 Using where
6129
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where
6129
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6130
6130
Warnings:
6131
6131
Note 1003 /* select#1 */ select `test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c` from `test`.`t3` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t3`.`pk`) and (`<subquery3>`.`c` = `test`.`t3`.`pk`) and (`test`.`t3`.`pk` > 2))) left join (`test`.`t1` left join `test`.`t2` on((`test`.`t2`.`pk` = `test`.`t3`.`pk`))) on(((`test`.`t1`.`pk` = `test`.`t3`.`pk`) and (`test`.`t3`.`pk` < 3))) where true
6132
6132
SELECT * FROM (t3 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t3.pk = t13.pk) LEFT JOIN (t1 LEFT JOIN t2 on t1.pk = t2.pk) on t1.pk = t3.pk AND t1.pk < 3;
@@ -6147,7 +6147,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
1 SIMPLE t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where; FirstMatch(tx)
6150
+
1 SIMPLE t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where; FirstMatch(tx)
6151
6151
Warnings:
6152
6152
Note 1003 /* select#1 */ select `test`.`t3`.`pk` AS `pk`,`test`.`t3`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c` from `test`.`t3` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t3`.`pk`) and (`test`.`t3`.`c` = `test`.`t3`.`pk`) and (`test`.`t3`.`pk` > 2))) join `test`.`t1` left join `test`.`t2` on((`test`.`t2`.`pk` = `test`.`t3`.`pk`)) where ((`test`.`t1`.`pk` = `test`.`t3`.`pk`) and (`test`.`t3`.`pk` < 3))
6153
6153
SELECT * FROM (t3 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t3.pk = t13.pk) JOIN (t1 LEFT JOIN t2 on t1.pk = t2.pk) on t1.pk = t3.pk AND t1.pk < 3;
@@ -6174,7 +6174,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
6174
6174
1 SIMPLE tx p0,p1,p2 ALL PRIMARY NULL NULL NULL 2 100.00 Using where
6175
6175
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.tx.pk 1 100.00 Using where
6176
6176
1 SIMPLE t4 NULL ALL NULL NULL NULL NULL 10 100.00 Using where
6177
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 NULL
6177
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6178
6178
Warnings:
6179
6179
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c`,`test`.`t5`.`pk` AS `pk`,`test`.`t5`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c`,`test`.`t4`.`pk` AS `pk`,`test`.`t4`.`c` AS `c` from `test`.`t1` left join `test`.`t2` on(((`test`.`t2`.`pk` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` < 2))) left join (`test`.`t5` join `test`.`t1` `tx` semi join (`test`.`t3`) left join `test`.`t4` on((`test`.`t5`.`c` = (`test`.`t4`.`c` + 15)))) on(((`test`.`t5`.`pk` = `test`.`t1`.`pk`) and (`test`.`tx`.`pk` = `test`.`t1`.`pk`) and (`<subquery3>`.`c` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` < 3) and (`test`.`t3`.`pk` > 2))) where true
6180
6180
SELECT * FROM (t1 LEFT JOIN t2 on t1.pk = t2.pk and t1.pk < 2) LEFT JOIN ((t5 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t5.pk = t13.pk) LEFT JOIN t4 on t5.c = t4.c + 15) on t1.pk = t13.pk AND t1.pk < 3;
@@ -6207,7 +6207,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
6207
6207
1 SIMPLE t4 NULL ALL NULL NULL NULL NULL 10 100.00 Using where; Using join buffer (hash join)
6208
6208
1 SIMPLE t1 p0,p1,p2 eq_ref PRIMARY PRIMARY 4 test.tx.pk 1 100.00 Using where
6209
6209
1 SIMPLE t2 NULL eq_ref PRIMARY PRIMARY 4 test.t1.pk 1 100.00 Using where
6210
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where
6210
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6211
6211
Warnings:
6212
6212
Note 1003 /* select#1 */ select `test`.`t5`.`pk` AS `pk`,`test`.`t5`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c`,`test`.`t4`.`pk` AS `pk`,`test`.`t4`.`c` AS `c`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c` from `test`.`t5` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t5`.`pk`) and (`<subquery3>`.`c` = `test`.`t5`.`pk`) and (`test`.`t3`.`pk` > 2))) left join `test`.`t4` on((`test`.`t5`.`c` = (`test`.`t4`.`c` + 15))) left join (`test`.`t1` left join `test`.`t2` on(((`test`.`t2`.`pk` = `test`.`tx`.`pk`) and (`test`.`tx`.`pk` < 2)))) on(((`test`.`t1`.`pk` = `test`.`tx`.`pk`) and (`test`.`tx`.`pk` < 3))) where true
6213
6213
SELECT * FROM ((t5 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t5.pk = t13.pk) LEFT JOIN t4 on t5.c = t4.c + 15) LEFT JOIN (t1 LEFT JOIN t2 on t1.pk = t2.pk and t1.pk < 2) on t1.pk = t13.pk AND t1.pk < 3;
@@ -6255,7 +6255,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.tx.pk 1 100.00 Using where
6257
6257
1 SIMPLE t4 NULL ALL NULL NULL NULL NULL 10 100.00 Using where
6258
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 NULL
6258
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6259
6259
Warnings:
6260
6260
Note 1003 /* select#1 */ select `test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c`,`test`.`t4`.`pk` AS `pk`,`test`.`t4`.`c` AS `c`,`test`.`t5`.`pk` AS `pk`,`test`.`t5`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c` from `test`.`t1` left join `test`.`t2` on(((`test`.`t2`.`pk` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` > 3))) left join (`test`.`t4` join `test`.`t5` join `test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`t5`.`pk` = `test`.`t1`.`pk`) and (`test`.`tx`.`pk` = `test`.`t1`.`pk`) and (`<subquery3>`.`c` = `test`.`t1`.`pk`) and (`test`.`t1`.`pk` > 3) and (`test`.`t3`.`pk` > 2) and (`test`.`t5`.`c` = (`test`.`t4`.`c` + 20)))) where true
6261
6261
SELECT * FROM (t1 LEFT JOIN t2 on t1.pk = t2.pk and t1.pk > 3) LEFT JOIN (t4 LEFT JOIN (t5 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t5.pk = t13.pk) on t5.c = t4.c + 20) on t1.pk = t13.pk AND t1.pk > 3;
@@ -6288,7 +6288,7 @@ id select_type table partitions type possible_keys key key_len ref rows filtered
6288
6288
1 SIMPLE <subquery3> NULL eq_ref <auto_distinct_key> <auto_distinct_key> 5 test.tx.pk 1 100.00 Using where
6289
6289
1 SIMPLE t1 p4 eq_ref PRIMARY PRIMARY 4 test.tx.pk 1 100.00 Using where
6290
6290
1 SIMPLE t2 NULL eq_ref PRIMARY PRIMARY 4 test.t1.pk 1 100.00 Using where
6291
-
3 MATERIALIZED t3 p3,p4 ALL PRIMARY NULL NULL NULL 8 100.00 Using where
6291
+
3 MATERIALIZED t3 p3,p4 range PRIMARY PRIMARY 4 NULL 8 100.00 Using where
6292
6292
Warnings:
6293
6293
Note 1003 /* select#1 */ select `test`.`t4`.`pk` AS `pk`,`test`.`t4`.`c` AS `c`,`test`.`t5`.`pk` AS `pk`,`test`.`t5`.`c` AS `c`,`test`.`tx`.`pk` AS `pk`,`test`.`tx`.`c` AS `c`,`test`.`t1`.`pk` AS `pk`,`test`.`t1`.`c` AS `c`,`test`.`t2`.`pk` AS `pk`,`test`.`t2`.`c` AS `c` from `test`.`t4` left join (`test`.`t5` left join (`test`.`t1` `tx` semi join (`test`.`t3`)) on(((`test`.`tx`.`pk` = `test`.`t5`.`pk`) and (`<subquery3>`.`c` = `test`.`t5`.`pk`) and (`test`.`t3`.`pk` > 2)))) on((`test`.`t5`.`c` = (`test`.`t4`.`c` + 20))) left join (`test`.`t1` left join `test`.`t2` on(((`test`.`t2`.`pk` = `test`.`tx`.`pk`) and (`test`.`tx`.`pk` > 3)))) on(((`test`.`t1`.`pk` = `test`.`tx`.`pk`) and (`test`.`tx`.`pk` > 3))) where true
6294
6294
SELECT * FROM (t4 LEFT JOIN (t5 LEFT JOIN (SELECT * FROM t1 as tx WHERE tx.pk IN (SELECT c FROM t3 WHERE pk > 2)) t13 on t5.pk = t13.pk) on t5.c = t4.c + 20) LEFT JOIN (t1 LEFT JOIN t2 on t1.pk = t2.pk and t1.pk > 3) on t1.pk = t13.pk AND t1.pk > 3;
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index; Using join buffer (hash join)
4075
+
Warnings:
4076
+
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` left join (`test`.`t2`) on(((`test`.`t2`.`b` = 100) and (`test`.`t1`.`a` = `test`.`t2`.`b`) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))) where true
4077
+
EXPLAIN SELECT b,c FROM t2 WHERE b=100 AND c<=100 AND c>=100;
4078
+
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
4079
+
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index
4080
+
Warnings:
4081
+
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where ((`test`.`t2`.`b` = 100) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))
INSERT INTO t1 VALUES (1,1,'a'), (2,2,'b'), (3,4,'c'), (4,4,'z'),(5,5,'L');
4085
+
ANALYZE TABLE t1;
4086
+
Table Op Msg_type Msg_text
4087
+
test.t1 analyze status OK
4088
+
SELECT at1.c3 FROM (t1 AS at1 LEFT JOIN (SELECT at2.* FROM (t1 AS at2 JOIN t1 AS at3 ON ((1,2) IN (SELECT c1,c1 FROM t1 as at4)))) AS at5 ON at5.c1 = at1.c1);
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index; Using join buffer (hash join)
4075
+
Warnings:
4076
+
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` left join (`test`.`t2`) on(((`test`.`t2`.`b` = 100) and (`test`.`t1`.`a` = `test`.`t2`.`b`) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))) where true
4077
+
EXPLAIN SELECT b,c FROM t2 WHERE b=100 AND c<=100 AND c>=100;
4078
+
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
4079
+
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index
4080
+
Warnings:
4081
+
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where ((`test`.`t2`.`b` = 100) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))
INSERT INTO t1 VALUES (1,1,'a'), (2,2,'b'), (3,4,'c'), (4,4,'z'),(5,5,'L');
4085
+
ANALYZE TABLE t1;
4086
+
Table Op Msg_type Msg_text
4087
+
test.t1 analyze status OK
4088
+
SELECT at1.c3 FROM (t1 AS at1 LEFT JOIN (SELECT at2.* FROM (t1 AS at2 JOIN t1 AS at3 ON ((1,2) IN (SELECT c1,c1 FROM t1 as at4)))) AS at5 ON at5.c1 = at1.c1);
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index; Using join buffer (hash join)
4075
+
Warnings:
4076
+
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` left join (`test`.`t2`) on(((`test`.`t2`.`b` = 100) and (`test`.`t1`.`a` = `test`.`t2`.`b`) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))) where true
4077
+
EXPLAIN SELECT b,c FROM t2 WHERE b=100 AND c<=100 AND c>=100;
4078
+
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
4079
+
1 SIMPLE t2 NULL range b b 10 NULL 1 100.00 Using where; Using index
4080
+
Warnings:
4081
+
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where ((`test`.`t2`.`b` = 100) and (`test`.`t2`.`c` <= 100) and (`test`.`t2`.`c` >= 100))
INSERT INTO t1 VALUES (1,1,'a'), (2,2,'b'), (3,4,'c'), (4,4,'z'),(5,5,'L');
4085
+
ANALYZE TABLE t1;
4086
+
Table Op Msg_type Msg_text
4087
+
test.t1 analyze status OK
4088
+
SELECT at1.c3 FROM (t1 AS at1 LEFT JOIN (SELECT at2.* FROM (t1 AS at2 JOIN t1 AS at3 ON ((1,2) IN (SELECT c1,c1 FROM t1 as at4)))) AS at5 ON at5.c1 = at1.c1);
0 commit comments