Loading mysql-test/r/partition.result +45 −0 Original line number Diff line number Diff line Loading @@ -1082,4 +1082,49 @@ a 2 1 drop table t1; create table t1 (a int) engine myisam partition by range (a) subpartition by hash (a) (partition p0 VALUES LESS THAN (1) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart00, SUBPARTITION subpart01)); hello/master-data/test: t1#P#p0#SP#subpart00.MYD t1#P#p0#SP#subpart00.MYI t1#P#p0#SP#subpart01.MYD t1#P#p0#SP#subpart01.MYI t1.frm t1.par hello/master-data/tmpdata: t1#P#p0#SP#subpart00.MYD t1#P#p0#SP#subpart01.MYD hello/master-data/tmpinx: t1#P#p0#SP#subpart00.MYI t1#P#p0#SP#subpart01.MYI ALTER TABLE t1 REORGANIZE PARTITION p0 INTO (partition p1 VALUES LESS THAN (1) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart10, SUBPARTITION subpart11), partition p2 VALUES LESS THAN (2) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart20, SUBPARTITION subpart21)); hello/master-data/test: t1#P#p1#SP#subpart10.MYD t1#P#p1#SP#subpart10.MYI t1#P#p1#SP#subpart11.MYD t1#P#p1#SP#subpart11.MYI t1#P#p2#SP#subpart20.MYD t1#P#p2#SP#subpart20.MYI t1#P#p2#SP#subpart21.MYD t1#P#p2#SP#subpart21.MYI t1.frm t1.par hello/master-data/tmpdata: t1#P#p1#SP#subpart10.MYD t1#P#p1#SP#subpart11.MYD t1#P#p2#SP#subpart20.MYD t1#P#p2#SP#subpart21.MYD hello/master-data/tmpinx: t1#P#p1#SP#subpart10.MYI t1#P#p1#SP#subpart11.MYI t1#P#p2#SP#subpart20.MYI t1#P#p2#SP#subpart21.MYI drop table t1; End of 5.1 tests mysql-test/r/partition_innodb.result +11 −0 Original line number Diff line number Diff line Loading @@ -107,3 +107,14 @@ select * from t1 where id = 'aaa'; id aaa drop table t1; create table t1 (a int, b int, primary key (b,a)) engine = innodb partition by hash (a); insert into t1 values (0, 0); insert into t1 values (1, 0); update t1 set b = b + 1 where a = 1; select * from t1; a b 0 0 1 1 drop table t1; mysql-test/r/partition_mgm.result +12 −0 Original line number Diff line number Diff line Loading @@ -24,3 +24,15 @@ hello/master-data/test/t1#P#p0.MYD hello/master-data/test/t1#P#p0.MYI hello/master-data/test/t1.frm hello/master-data/test/t1.par drop table t1; create table t1 (a int) partition by list (a) subpartition by hash (a) (partition p11 values in (1,2), partition p12 values in (3,4)); alter table t1 REORGANIZE partition p11, p12 INTO (partition p1 values in (1,2,3,4)); alter table t1 REORGANIZE partition p1 INTO (partition p11 values in (1,2), partition p12 values in (3,4)); drop table t1; mysql-test/r/partition_order.result +54 −2 Original line number Diff line number Diff line Loading @@ -718,7 +718,11 @@ partitions 2 partition x2 values less than (100)); INSERT into t1 values (1, 1); INSERT into t1 values (5, NULL); INSERT into t1 values (2, 5); INSERT into t1 values (2, 4); INSERT into t1 values (3, 3); INSERT into t1 values (4, 5); INSERT into t1 values (7, 1); INSERT into t1 values (6, 6); INSERT into t1 values (30, 4); INSERT into t1 values (35, 2); INSERT into t1 values (40, NULL); Loading @@ -727,7 +731,55 @@ a b 5 NULL 40 NULL 1 1 7 1 35 2 3 3 2 4 30 4 2 5 4 5 6 6 select * from t1 force index (b) where b < 10 ORDER BY b; a b 1 1 7 1 35 2 3 3 2 4 30 4 4 5 6 6 select * from t1 force index (b) where b < 10 ORDER BY b DESC; a b 6 6 4 5 2 4 30 4 3 3 35 2 7 1 1 1 drop table t1; create table t1 (a int not null, b int, c varchar(20), key (a,b,c)) partition by range (b) (partition p0 values less than (5), partition p1 values less than (10)); INSERT into t1 values (1,1,'1'),(2,2,'2'),(1,3,'3'),(2,4,'4'),(1,5,'5'); INSERT into t1 values (2,6,'6'),(1,7,'7'),(2,8,'8'),(1,9,'9'); INSERT into t1 values (1, NULL, NULL), (2, NULL, '10'); select * from t1 where a = 1 order by a desc, b desc; a b c 1 9 9 1 7 7 1 5 5 1 3 3 1 1 1 1 NULL NULL select * from t1 where a = 1 order by b desc; a b c 1 9 9 1 7 7 1 5 5 1 3 3 1 1 1 1 NULL NULL drop table t1; mysql-test/r/partition_range.result +112 −0 Original line number Diff line number Diff line Loading @@ -519,3 +519,115 @@ partition p3 values less than (1998), partition p4 values less than (1999), partition p5 values less than (2000)); drop table t1; CREATE TABLE t1 (a date) PARTITION BY RANGE (TO_DAYS(a)) (PARTITION p3xx VALUES LESS THAN (TO_DAYS('2004-01-01')), PARTITION p401 VALUES LESS THAN (TO_DAYS('2004-02-01')), PARTITION p402 VALUES LESS THAN (TO_DAYS('2004-03-01')), PARTITION p403 VALUES LESS THAN (TO_DAYS('2004-04-01')), PARTITION p404 VALUES LESS THAN (TO_DAYS('2004-05-01')), PARTITION p405 VALUES LESS THAN (TO_DAYS('2004-06-01')), PARTITION p406 VALUES LESS THAN (TO_DAYS('2004-07-01')), PARTITION p407 VALUES LESS THAN (TO_DAYS('2004-08-01')), PARTITION p408 VALUES LESS THAN (TO_DAYS('2004-09-01')), PARTITION p409 VALUES LESS THAN (TO_DAYS('2004-10-01')), PARTITION p410 VALUES LESS THAN (TO_DAYS('2004-11-01')), PARTITION p411 VALUES LESS THAN (TO_DAYS('2004-12-01')), PARTITION p412 VALUES LESS THAN (TO_DAYS('2005-01-01')), PARTITION p501 VALUES LESS THAN (TO_DAYS('2005-02-01')), PARTITION p502 VALUES LESS THAN (TO_DAYS('2005-03-01')), PARTITION p503 VALUES LESS THAN (TO_DAYS('2005-04-01')), PARTITION p504 VALUES LESS THAN (TO_DAYS('2005-05-01')), PARTITION p505 VALUES LESS THAN (TO_DAYS('2005-06-01')), PARTITION p506 VALUES LESS THAN (TO_DAYS('2005-07-01')), PARTITION p507 VALUES LESS THAN (TO_DAYS('2005-08-01')), PARTITION p508 VALUES LESS THAN (TO_DAYS('2005-09-01')), PARTITION p509 VALUES LESS THAN (TO_DAYS('2005-10-01')), PARTITION p510 VALUES LESS THAN (TO_DAYS('2005-11-01')), PARTITION p511 VALUES LESS THAN (TO_DAYS('2005-12-01')), PARTITION p512 VALUES LESS THAN (TO_DAYS('2006-01-01')), PARTITION p601 VALUES LESS THAN (TO_DAYS('2006-02-01')), PARTITION p602 VALUES LESS THAN (TO_DAYS('2006-03-01')), PARTITION p603 VALUES LESS THAN (TO_DAYS('2006-04-01')), PARTITION p604 VALUES LESS THAN (TO_DAYS('2006-05-01')), PARTITION p605 VALUES LESS THAN (TO_DAYS('2006-06-01')), PARTITION p606 VALUES LESS THAN (TO_DAYS('2006-07-01')), PARTITION p607 VALUES LESS THAN (TO_DAYS('2006-08-01'))); INSERT INTO t1 VALUES ('2003-01-13'),('2003-06-20'),('2003-08-30'); INSERT INTO t1 VALUES ('2003-04-13'),('2003-07-20'),('2003-10-30'); INSERT INTO t1 VALUES ('2003-05-13'),('2003-11-20'),('2003-12-30'); INSERT INTO t1 VALUES ('2004-01-13'),('2004-01-20'),('2004-01-30'); INSERT INTO t1 VALUES ('2004-02-13'),('2004-02-20'),('2004-02-28'); INSERT INTO t1 VALUES ('2004-03-13'),('2004-03-20'),('2004-03-30'); INSERT INTO t1 VALUES ('2004-04-13'),('2004-04-20'),('2004-04-30'); INSERT INTO t1 VALUES ('2004-05-13'),('2004-05-20'),('2004-05-30'); INSERT INTO t1 VALUES ('2004-06-13'),('2004-06-20'),('2004-06-30'); INSERT INTO t1 VALUES ('2004-07-13'),('2004-07-20'),('2004-07-30'); INSERT INTO t1 VALUES ('2004-08-13'),('2004-08-20'),('2004-08-30'); INSERT INTO t1 VALUES ('2004-09-13'),('2004-09-20'),('2004-09-30'); INSERT INTO t1 VALUES ('2004-10-13'),('2004-10-20'),('2004-10-30'); INSERT INTO t1 VALUES ('2004-11-13'),('2004-11-20'),('2004-11-30'); INSERT INTO t1 VALUES ('2004-12-13'),('2004-12-20'),('2004-12-30'); INSERT INTO t1 VALUES ('2005-01-13'),('2005-01-20'),('2005-01-30'); INSERT INTO t1 VALUES ('2005-02-13'),('2005-02-20'),('2005-02-28'); INSERT INTO t1 VALUES ('2005-03-13'),('2005-03-20'),('2005-03-30'); INSERT INTO t1 VALUES ('2005-04-13'),('2005-04-20'),('2005-04-30'); INSERT INTO t1 VALUES ('2005-05-13'),('2005-05-20'),('2005-05-30'); INSERT INTO t1 VALUES ('2005-06-13'),('2005-06-20'),('2005-06-30'); INSERT INTO t1 VALUES ('2005-07-13'),('2005-07-20'),('2005-07-30'); INSERT INTO t1 VALUES ('2005-08-13'),('2005-08-20'),('2005-08-30'); INSERT INTO t1 VALUES ('2005-09-13'),('2005-09-20'),('2005-09-30'); INSERT INTO t1 VALUES ('2005-10-13'),('2005-10-20'),('2005-10-30'); INSERT INTO t1 VALUES ('2005-11-13'),('2005-11-20'),('2005-11-30'); INSERT INTO t1 VALUES ('2005-12-13'),('2005-12-20'),('2005-12-30'); INSERT INTO t1 VALUES ('2006-01-13'),('2006-01-20'),('2006-01-30'); INSERT INTO t1 VALUES ('2006-02-13'),('2006-02-20'),('2006-02-28'); INSERT INTO t1 VALUES ('2006-03-13'),('2006-03-20'),('2006-03-30'); INSERT INTO t1 VALUES ('2006-04-13'),('2006-04-20'),('2006-04-30'); INSERT INTO t1 VALUES ('2006-05-13'),('2006-05-20'),('2006-05-30'); INSERT INTO t1 VALUES ('2006-06-13'),('2006-06-20'),('2006-06-30'); INSERT INTO t1 VALUES ('2006-07-13'),('2006-07-20'),('2006-07-30'); SELECT * FROM t1 WHERE a >= '2004-07-01' AND a <= '2004-09-30'; a 2004-07-13 2004-07-20 2004-07-30 2004-08-13 2004-08-20 2004-08-30 2004-09-13 2004-09-20 2004-09-30 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '2004-07-01' AND a <= '2004-09-30'; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where SELECT * from t1 WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR (a >= '2005-07-01' AND a <= '2005-09-30'); a 2004-07-13 2004-07-20 2004-07-30 2004-08-13 2004-08-20 2004-08-30 2004-09-13 2004-09-20 2004-09-30 2005-07-13 2005-07-20 2005-07-30 2005-08-13 2005-08-20 2005-08-30 2005-09-13 2005-09-20 2005-09-30 EXPLAIN PARTITIONS SELECT * from t1 WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR (a >= '2005-07-01' AND a <= '2005-09-30'); id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where DROP TABLE t1; Loading
mysql-test/r/partition.result +45 −0 Original line number Diff line number Diff line Loading @@ -1082,4 +1082,49 @@ a 2 1 drop table t1; create table t1 (a int) engine myisam partition by range (a) subpartition by hash (a) (partition p0 VALUES LESS THAN (1) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart00, SUBPARTITION subpart01)); hello/master-data/test: t1#P#p0#SP#subpart00.MYD t1#P#p0#SP#subpart00.MYI t1#P#p0#SP#subpart01.MYD t1#P#p0#SP#subpart01.MYI t1.frm t1.par hello/master-data/tmpdata: t1#P#p0#SP#subpart00.MYD t1#P#p0#SP#subpart01.MYD hello/master-data/tmpinx: t1#P#p0#SP#subpart00.MYI t1#P#p0#SP#subpart01.MYI ALTER TABLE t1 REORGANIZE PARTITION p0 INTO (partition p1 VALUES LESS THAN (1) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart10, SUBPARTITION subpart11), partition p2 VALUES LESS THAN (2) DATA DIRECTORY = 'hello/master-data/tmpdata' INDEX DIRECTORY = 'hello/master-data/tmpinx' (SUBPARTITION subpart20, SUBPARTITION subpart21)); hello/master-data/test: t1#P#p1#SP#subpart10.MYD t1#P#p1#SP#subpart10.MYI t1#P#p1#SP#subpart11.MYD t1#P#p1#SP#subpart11.MYI t1#P#p2#SP#subpart20.MYD t1#P#p2#SP#subpart20.MYI t1#P#p2#SP#subpart21.MYD t1#P#p2#SP#subpart21.MYI t1.frm t1.par hello/master-data/tmpdata: t1#P#p1#SP#subpart10.MYD t1#P#p1#SP#subpart11.MYD t1#P#p2#SP#subpart20.MYD t1#P#p2#SP#subpart21.MYD hello/master-data/tmpinx: t1#P#p1#SP#subpart10.MYI t1#P#p1#SP#subpart11.MYI t1#P#p2#SP#subpart20.MYI t1#P#p2#SP#subpart21.MYI drop table t1; End of 5.1 tests
mysql-test/r/partition_innodb.result +11 −0 Original line number Diff line number Diff line Loading @@ -107,3 +107,14 @@ select * from t1 where id = 'aaa'; id aaa drop table t1; create table t1 (a int, b int, primary key (b,a)) engine = innodb partition by hash (a); insert into t1 values (0, 0); insert into t1 values (1, 0); update t1 set b = b + 1 where a = 1; select * from t1; a b 0 0 1 1 drop table t1;
mysql-test/r/partition_mgm.result +12 −0 Original line number Diff line number Diff line Loading @@ -24,3 +24,15 @@ hello/master-data/test/t1#P#p0.MYD hello/master-data/test/t1#P#p0.MYI hello/master-data/test/t1.frm hello/master-data/test/t1.par drop table t1; create table t1 (a int) partition by list (a) subpartition by hash (a) (partition p11 values in (1,2), partition p12 values in (3,4)); alter table t1 REORGANIZE partition p11, p12 INTO (partition p1 values in (1,2,3,4)); alter table t1 REORGANIZE partition p1 INTO (partition p11 values in (1,2), partition p12 values in (3,4)); drop table t1;
mysql-test/r/partition_order.result +54 −2 Original line number Diff line number Diff line Loading @@ -718,7 +718,11 @@ partitions 2 partition x2 values less than (100)); INSERT into t1 values (1, 1); INSERT into t1 values (5, NULL); INSERT into t1 values (2, 5); INSERT into t1 values (2, 4); INSERT into t1 values (3, 3); INSERT into t1 values (4, 5); INSERT into t1 values (7, 1); INSERT into t1 values (6, 6); INSERT into t1 values (30, 4); INSERT into t1 values (35, 2); INSERT into t1 values (40, NULL); Loading @@ -727,7 +731,55 @@ a b 5 NULL 40 NULL 1 1 7 1 35 2 3 3 2 4 30 4 2 5 4 5 6 6 select * from t1 force index (b) where b < 10 ORDER BY b; a b 1 1 7 1 35 2 3 3 2 4 30 4 4 5 6 6 select * from t1 force index (b) where b < 10 ORDER BY b DESC; a b 6 6 4 5 2 4 30 4 3 3 35 2 7 1 1 1 drop table t1; create table t1 (a int not null, b int, c varchar(20), key (a,b,c)) partition by range (b) (partition p0 values less than (5), partition p1 values less than (10)); INSERT into t1 values (1,1,'1'),(2,2,'2'),(1,3,'3'),(2,4,'4'),(1,5,'5'); INSERT into t1 values (2,6,'6'),(1,7,'7'),(2,8,'8'),(1,9,'9'); INSERT into t1 values (1, NULL, NULL), (2, NULL, '10'); select * from t1 where a = 1 order by a desc, b desc; a b c 1 9 9 1 7 7 1 5 5 1 3 3 1 1 1 1 NULL NULL select * from t1 where a = 1 order by b desc; a b c 1 9 9 1 7 7 1 5 5 1 3 3 1 1 1 1 NULL NULL drop table t1;
mysql-test/r/partition_range.result +112 −0 Original line number Diff line number Diff line Loading @@ -519,3 +519,115 @@ partition p3 values less than (1998), partition p4 values less than (1999), partition p5 values less than (2000)); drop table t1; CREATE TABLE t1 (a date) PARTITION BY RANGE (TO_DAYS(a)) (PARTITION p3xx VALUES LESS THAN (TO_DAYS('2004-01-01')), PARTITION p401 VALUES LESS THAN (TO_DAYS('2004-02-01')), PARTITION p402 VALUES LESS THAN (TO_DAYS('2004-03-01')), PARTITION p403 VALUES LESS THAN (TO_DAYS('2004-04-01')), PARTITION p404 VALUES LESS THAN (TO_DAYS('2004-05-01')), PARTITION p405 VALUES LESS THAN (TO_DAYS('2004-06-01')), PARTITION p406 VALUES LESS THAN (TO_DAYS('2004-07-01')), PARTITION p407 VALUES LESS THAN (TO_DAYS('2004-08-01')), PARTITION p408 VALUES LESS THAN (TO_DAYS('2004-09-01')), PARTITION p409 VALUES LESS THAN (TO_DAYS('2004-10-01')), PARTITION p410 VALUES LESS THAN (TO_DAYS('2004-11-01')), PARTITION p411 VALUES LESS THAN (TO_DAYS('2004-12-01')), PARTITION p412 VALUES LESS THAN (TO_DAYS('2005-01-01')), PARTITION p501 VALUES LESS THAN (TO_DAYS('2005-02-01')), PARTITION p502 VALUES LESS THAN (TO_DAYS('2005-03-01')), PARTITION p503 VALUES LESS THAN (TO_DAYS('2005-04-01')), PARTITION p504 VALUES LESS THAN (TO_DAYS('2005-05-01')), PARTITION p505 VALUES LESS THAN (TO_DAYS('2005-06-01')), PARTITION p506 VALUES LESS THAN (TO_DAYS('2005-07-01')), PARTITION p507 VALUES LESS THAN (TO_DAYS('2005-08-01')), PARTITION p508 VALUES LESS THAN (TO_DAYS('2005-09-01')), PARTITION p509 VALUES LESS THAN (TO_DAYS('2005-10-01')), PARTITION p510 VALUES LESS THAN (TO_DAYS('2005-11-01')), PARTITION p511 VALUES LESS THAN (TO_DAYS('2005-12-01')), PARTITION p512 VALUES LESS THAN (TO_DAYS('2006-01-01')), PARTITION p601 VALUES LESS THAN (TO_DAYS('2006-02-01')), PARTITION p602 VALUES LESS THAN (TO_DAYS('2006-03-01')), PARTITION p603 VALUES LESS THAN (TO_DAYS('2006-04-01')), PARTITION p604 VALUES LESS THAN (TO_DAYS('2006-05-01')), PARTITION p605 VALUES LESS THAN (TO_DAYS('2006-06-01')), PARTITION p606 VALUES LESS THAN (TO_DAYS('2006-07-01')), PARTITION p607 VALUES LESS THAN (TO_DAYS('2006-08-01'))); INSERT INTO t1 VALUES ('2003-01-13'),('2003-06-20'),('2003-08-30'); INSERT INTO t1 VALUES ('2003-04-13'),('2003-07-20'),('2003-10-30'); INSERT INTO t1 VALUES ('2003-05-13'),('2003-11-20'),('2003-12-30'); INSERT INTO t1 VALUES ('2004-01-13'),('2004-01-20'),('2004-01-30'); INSERT INTO t1 VALUES ('2004-02-13'),('2004-02-20'),('2004-02-28'); INSERT INTO t1 VALUES ('2004-03-13'),('2004-03-20'),('2004-03-30'); INSERT INTO t1 VALUES ('2004-04-13'),('2004-04-20'),('2004-04-30'); INSERT INTO t1 VALUES ('2004-05-13'),('2004-05-20'),('2004-05-30'); INSERT INTO t1 VALUES ('2004-06-13'),('2004-06-20'),('2004-06-30'); INSERT INTO t1 VALUES ('2004-07-13'),('2004-07-20'),('2004-07-30'); INSERT INTO t1 VALUES ('2004-08-13'),('2004-08-20'),('2004-08-30'); INSERT INTO t1 VALUES ('2004-09-13'),('2004-09-20'),('2004-09-30'); INSERT INTO t1 VALUES ('2004-10-13'),('2004-10-20'),('2004-10-30'); INSERT INTO t1 VALUES ('2004-11-13'),('2004-11-20'),('2004-11-30'); INSERT INTO t1 VALUES ('2004-12-13'),('2004-12-20'),('2004-12-30'); INSERT INTO t1 VALUES ('2005-01-13'),('2005-01-20'),('2005-01-30'); INSERT INTO t1 VALUES ('2005-02-13'),('2005-02-20'),('2005-02-28'); INSERT INTO t1 VALUES ('2005-03-13'),('2005-03-20'),('2005-03-30'); INSERT INTO t1 VALUES ('2005-04-13'),('2005-04-20'),('2005-04-30'); INSERT INTO t1 VALUES ('2005-05-13'),('2005-05-20'),('2005-05-30'); INSERT INTO t1 VALUES ('2005-06-13'),('2005-06-20'),('2005-06-30'); INSERT INTO t1 VALUES ('2005-07-13'),('2005-07-20'),('2005-07-30'); INSERT INTO t1 VALUES ('2005-08-13'),('2005-08-20'),('2005-08-30'); INSERT INTO t1 VALUES ('2005-09-13'),('2005-09-20'),('2005-09-30'); INSERT INTO t1 VALUES ('2005-10-13'),('2005-10-20'),('2005-10-30'); INSERT INTO t1 VALUES ('2005-11-13'),('2005-11-20'),('2005-11-30'); INSERT INTO t1 VALUES ('2005-12-13'),('2005-12-20'),('2005-12-30'); INSERT INTO t1 VALUES ('2006-01-13'),('2006-01-20'),('2006-01-30'); INSERT INTO t1 VALUES ('2006-02-13'),('2006-02-20'),('2006-02-28'); INSERT INTO t1 VALUES ('2006-03-13'),('2006-03-20'),('2006-03-30'); INSERT INTO t1 VALUES ('2006-04-13'),('2006-04-20'),('2006-04-30'); INSERT INTO t1 VALUES ('2006-05-13'),('2006-05-20'),('2006-05-30'); INSERT INTO t1 VALUES ('2006-06-13'),('2006-06-20'),('2006-06-30'); INSERT INTO t1 VALUES ('2006-07-13'),('2006-07-20'),('2006-07-30'); SELECT * FROM t1 WHERE a >= '2004-07-01' AND a <= '2004-09-30'; a 2004-07-13 2004-07-20 2004-07-30 2004-08-13 2004-08-20 2004-08-30 2004-09-13 2004-09-20 2004-09-30 EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '2004-07-01' AND a <= '2004-09-30'; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p407,p408,p409 ALL NULL NULL NULL NULL 9 Using where SELECT * from t1 WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR (a >= '2005-07-01' AND a <= '2005-09-30'); a 2004-07-13 2004-07-20 2004-07-30 2004-08-13 2004-08-20 2004-08-30 2004-09-13 2004-09-20 2004-09-30 2005-07-13 2005-07-20 2005-07-30 2005-08-13 2005-08-20 2005-08-30 2005-09-13 2005-09-20 2005-09-30 EXPLAIN PARTITIONS SELECT * from t1 WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR (a >= '2005-07-01' AND a <= '2005-09-30'); id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where DROP TABLE t1;