diff options
Diffstat (limited to 'mysql-test/t/range.test')
-rw-r--r-- | mysql-test/t/range.test | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index 0b39f20e346..65ba2ee6671 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -205,6 +205,30 @@ explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3; explain select * from t1 force index(i2), t2 where (t1.key1 <t2.keya + 1) and t2.keya=3; DROP TABLE t1,t2; +# +# bug #1724: use RANGE on more selective column instead of REF on less +# selective + +CREATE TABLE t1 ( + a int(11) default NULL, + b int(11) default NULL, + KEY a (a), + KEY b (b) +) TYPE=MyISAM; + + +INSERT INTO t1 VALUES +(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,2),(10,2), +(13,2),(14,2),(15,2),(16,2),(17,3),(17,3),(16,3),(17,3),(19,3),(20,3), +(21,4),(22,5),(23,5),(24,5),(25,5),(26,5),(30,5),(31,5),(32,5),(33,5), +(33,5),(33,5),(33,5),(33,5),(34,5),(35,5); + +# we expect that optimizer will choose key on A +EXPLAIN SELECT * FROM t1 WHERE a IN(1,2) AND b=5; +SELECT * FROM t1 WHERE a IN(1,2) AND b=5; + +DROP TABLE t1; + # test for a bug with in() and unique key create table t1 (id int(10) primary key); @@ -306,28 +330,3 @@ select * from t1, t2 where t1.uid=t2.uid AND t1.uid > 0; select * from t1, t2 where t1.uid=t2.uid AND t1.uid != 0; drop table t1,t2; - -# -# bug #1724: use RANGE on more selective column instead of REF on less -# selective - -CREATE TABLE t1 ( - a int(11) default NULL, - b int(11) default NULL, - KEY a (a), - KEY b (b) -) TYPE=MyISAM; - - -INSERT INTO t1 VALUES -(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,2),(10,2), -(13,2),(14,2),(15,2),(16,2),(17,3),(17,3),(16,3),(17,3),(19,3),(20,3), -(21,4),(22,5),(23,5),(24,5),(25,5),(26,5),(30,5),(31,5),(32,5),(33,5), -(33,5),(33,5),(33,5),(33,5),(34,5),(35,5); - -EXPLAIN SELECT * FROM t1 WHERE a IN(1,2) AND b=5; -SELECT * FROM t1 WHERE a IN(1,2) AND b=5; - -DROP TABLE t1; - -# we expect that optimizer will choose key on A |