1657
# Bug#50939: Loose Index Scan unduly relies on engine to remember range
1664
) PARTITION BY HASH (a) PARTITIONS 1;
1670
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
1671
INSERT INTO t1 SELECT a + 5, b + 5 FROM t1;
1672
INSERT INTO t1 SELECT a + 10, b + 10 FROM t1;
1673
INSERT INTO t1 SELECT a + 20, b + 20 FROM t1;
1674
INSERT INTO t1 SELECT a + 40, b + 40 FROM t1;
1675
INSERT INTO t2 SELECT * FROM t1;
1676
# plans should be identical
1677
EXPLAIN SELECT a, MAX(b) FROM t1 WHERE a IN (10,100) GROUP BY a;
1678
id select_type table type possible_keys key key_len ref rows Extra
1679
1 SIMPLE t1 range a a 5 NULL 1 Using where; Using index for group-by
1680
EXPLAIN SELECT a, MAX(b) FROM t2 WHERE a IN (10,100) GROUP BY a;
1681
id select_type table type possible_keys key key_len ref rows Extra
1682
1 SIMPLE t2 range a a 5 NULL 2 Using where; Using index for group-by
1684
SELECT a, MAX(b) FROM t1 WHERE a IN (10, 100) GROUP BY a;
1687
# Should be no more than 4 reads.
1688
SHOW status LIKE 'handler_read_key';
1692
SELECT a, MAX(b) FROM t2 WHERE a IN (10, 100) GROUP BY a;
1695
# Should be no more than 4 reads.
1696
SHOW status LIKE 'handler_read_key';
1656
1700
End of 5.1 tests