--- r/subselect_partial_match.result 2012-01-09 16:13:21.000000000 +0100 +++ r/subselect_partial_match.reject 2012-02-10 16:20:51.000000000 +0100 @@ -73,7 +73,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -81,7 +81,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -89,7 +89,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -97,7 +97,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 3 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -105,7 +105,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -113,7 +113,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -128,7 +128,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -136,7 +136,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -144,7 +144,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -152,7 +152,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -160,7 +160,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -168,7 +168,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -187,7 +187,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -195,7 +195,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -203,7 +203,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -211,7 +211,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -219,7 +219,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -227,7 +227,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -246,7 +246,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -254,7 +254,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -263,7 +263,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -271,7 +271,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 MATERIALIZED t2 ALL NULL NULL NULL NULL 2 SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -280,7 +280,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT t1.*, (a1, a2, a3) IN (select * from t2) as in_res from t1; a1 a2 a3 in_res @@ -288,7 +288,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where SELECT * from t1 where (a1, a2, a3) NOT IN (select * from t2); a1 a2 a3 @@ -308,7 +308,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -316,7 +316,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -324,7 +324,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -332,7 +332,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -340,7 +340,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -348,7 +348,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -372,7 +372,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -380,7 +380,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -389,7 +389,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -397,7 +397,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -406,7 +406,7 @@ EXPLAIN SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT t1.*, (a1, a2, a3, a4) IN (select * from t2) as in_res from t1; a1 a2 a3 a4 in_res @@ -414,7 +414,7 @@ EXPLAIN SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 8 Using where SELECT * from t1 where (a1, a2, a3, a4) NOT IN (select * from t2); a1 a2 a3 a4 @@ -820,9 +820,9 @@ SELECT t3.d , t2.c FROM t3 LEFT JOIN t2 ON t3.a = t2.a); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 -2 MATERIALIZED t3 system NULL NULL NULL NULL 1 -2 MATERIALIZED t2 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where +2 MATERIALIZED t3 ALL NULL NULL NULL NULL 1 +2 MATERIALIZED t2 ALL NULL NULL NULL NULL 1 Using where; Using join buffer (flat, BNL join) SELECT * FROM t1 WHERE (t1.d , t1.d) NOT IN ( @@ -837,9 +837,9 @@ SELECT t3.d , t2.c FROM t3 LEFT JOIN t2 ON t3.a = t2.a); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t1 system NULL NULL NULL NULL 1 -2 DEPENDENT SUBQUERY t3 system NULL NULL NULL NULL 1 -2 DEPENDENT SUBQUERY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t1 ALL NULL NULL NULL NULL 1 Using where +2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 1 Using where +2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 1 Using where; Using join buffer (flat, BNL join) SELECT * FROM t1 WHERE (t1.d , t1.d) NOT IN ( @@ -904,7 +904,7 @@ set @@optimizer_switch='in_to_exists=off,materialization=on,partial_match_rowid_merge=on,partial_match_table_scan=off'; EXPLAIN SELECT * FROM t2 WHERE ( 3 , 1 ) NOT IN ( SELECT f1 , f2 FROM t1 ); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 2 MATERIALIZED t1 ALL NULL NULL NULL NULL 3 SELECT * FROM t2 WHERE ( 3 , 1 ) NOT IN ( SELECT f1 , f2 FROM t1 ); f3 @@ -912,7 +912,7 @@ set @@optimizer_switch='in_to_exists=on,materialization=off'; EXPLAIN SELECT * FROM t2 WHERE ( 3 , 1 ) NOT IN ( SELECT f1 , f2 FROM t1 ); id select_type table type possible_keys key key_len ref rows Extra -1 PRIMARY t2 system NULL NULL NULL NULL 1 +1 PRIMARY t2 ALL NULL NULL NULL NULL 1 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where SELECT * FROM t2 WHERE ( 3 , 1 ) NOT IN ( SELECT f1 , f2 FROM t1 ); f3