DROP TABLE IF EXISTS t1; CREATE TABLE t1 (c1 TINYINT,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` tinyint(4) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test CREATE TABLE t1 (c1 SMALLINT,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` smallint(6) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test CREATE TABLE t1 (c1 MEDIUMINT,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` mediumint(9) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test CREATE TABLE t1 (c1 INT,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test CREATE TABLE t1 (c1 INTEGER,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` int(11) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test CREATE TABLE t1 (c1 BIGINT,name VARCHAR(30), purchased DATE) PARTITION BY RANGE( YEAR(purchased) ) SUBPARTITION BY HASH( TO_DAYS(purchased) ) SUBPARTITIONS 2 ( PARTITION p0 VALUES LESS THAN (1990), PARTITION p1 VALUES LESS THAN (2000), PARTITION p2 VALUES LESS THAN MAXVALUE ); INSERT INTO t1 VALUES(1,'abc','1994-01-01'); INSERT INTO t1 VALUES(2,'abc','1995-01-01'); INSERT INTO t1 VALUES(3,'abc','1996-01-01'); INSERT INTO t1 VALUES(4,'abc','1997-01-01'); INSERT INTO t1 VALUES(5,'abc','1998-01-01'); INSERT INTO t1 VALUES(6,'abc','1999-01-01'); INSERT INTO t1 VALUES(7,'abc','2000-01-01'); INSERT INTO t1 VALUES(8,'abc','2001-01-01'); INSERT INTO t1 VALUES(9,'abc','2002-01-01'); INSERT INTO t1 VALUES(10,'abc','2003-01-01'); INSERT INTO t1 VALUES(11,'abc','2004-01-01'); INSERT INTO t1 VALUES(12,'abc','2005-01-01'); INSERT INTO t1 VALUES(13,'abc','2006-01-01'); SELECT * FROM t1 ORDER BY c1; c1 name purchased 1 abc 1994-01-01 2 abc 1995-01-01 3 abc 1996-01-01 4 abc 1997-01-01 5 abc 1998-01-01 6 abc 1999-01-01 7 abc 2000-01-01 8 abc 2001-01-01 9 abc 2002-01-01 10 abc 2003-01-01 11 abc 2004-01-01 12 abc 2005-01-01 13 abc 2006-01-01 SHOW TABLES; Tables_in_test t1 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `c1` bigint(20) DEFAULT NULL, `name` varchar(30) DEFAULT NULL, `purchased` date DEFAULT NULL ) ENGINE=ENGINE DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( YEAR(purchased)) SUBPARTITION BY HASH ( TO_DAYS(purchased)) SUBPARTITIONS 2 (PARTITION p0 VALUES LESS THAN (1990) ENGINE = ENGINE, PARTITION p1 VALUES LESS THAN (2000) ENGINE = ENGINE, PARTITION p2 VALUES LESS THAN MAXVALUE ENGINE = ENGINE) */ DROP TABLE t1; SHOW TABLES; Tables_in_test