1create table t1 (a decimal(10,4) not null, primary key(a)) engine='MYISAM' 2partition by key (a) ( 3partition pa1 max_rows=20 min_rows=2, 4partition pa2 max_rows=30 min_rows=3, 5partition pa3 max_rows=30 min_rows=4, 6partition pa4 max_rows=40 min_rows=2); 7show create table t1; 8Table Create Table 9t1 CREATE TABLE `t1` ( 10 `a` decimal(10,4) NOT NULL, 11 PRIMARY KEY (`a`) 12) ENGINE=MyISAM DEFAULT CHARSET=latin1 13 PARTITION BY KEY (`a`) 14(PARTITION `pa1` MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM, 15 PARTITION `pa2` MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM, 16 PARTITION `pa3` MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM, 17 PARTITION `pa4` MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) 18insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567); 19select * from t1; 20a 21-999999.9999 22-123456.7899 23-1234.5670 24-1.5000 25-1.0000 260.0000 271.0000 281.5000 291234.5670 30123456.7899 31999999.9999 32select * from t1 where a=1234.567; 33a 341234.5670 35delete from t1 where a=1234.567; 36select * from t1; 37a 38-999999.9999 39-123456.7899 40-1234.5670 41-1.5000 42-1.0000 430.0000 441.0000 451.5000 46123456.7899 47999999.9999 48drop table t1; 49create table t2 (a decimal(18,9) not null, primary key(a)) engine='MYISAM' 50partition by key (a) partitions 10; 51show create table t2; 52Table Create Table 53t2 CREATE TABLE `t2` ( 54 `a` decimal(18,9) NOT NULL, 55 PRIMARY KEY (`a`) 56) ENGINE=MyISAM DEFAULT CHARSET=latin1 57 PARTITION BY KEY (`a`) 58PARTITIONS 10 59insert into t2 values (999999999.999999999), (-999999999.999999999), (-1.5), (-1), (0), (1.5), (1234.567), (-1234.567); 60select * from t2; 61a 62-999999999.999999999 63-1234.567000000 64-1.500000000 65-1.000000000 660.000000000 671.500000000 681234.567000000 69999999999.999999999 70select * from t2 where a=1234.567; 71a 721234.567000000 73delete from t2 where a=1234.567; 74select * from t2; 75a 76-999999999.999999999 77-1234.567000000 78-1.500000000 79-1.000000000 800.000000000 811.500000000 82999999999.999999999 83delete from t2; 8465535*3 inserts; 85select count(*) from t2; 86count(*) 87196605 88drop table t2; 89create table t3 (a decimal(18,9) not null, primary key(a)) engine='MYISAM' 90partition by range (floor(a)) subpartition by key (a) subpartitions 2 ( 91partition pa2 values less than (2), 92partition pa4 values less than (4), 93partition pa6 values less than (6), 94partition pa8 values less than (8), 95partition pa10 values less than (10) 96); 97show create table t3; 98Table Create Table 99t3 CREATE TABLE `t3` ( 100 `a` decimal(18,9) NOT NULL, 101 PRIMARY KEY (`a`) 102) ENGINE=MyISAM DEFAULT CHARSET=latin1 103 PARTITION BY RANGE (floor(`a`)) 104SUBPARTITION BY KEY (`a`) 105SUBPARTITIONS 2 106(PARTITION `pa2` VALUES LESS THAN (2) ENGINE = MyISAM, 107 PARTITION `pa4` VALUES LESS THAN (4) ENGINE = MyISAM, 108 PARTITION `pa6` VALUES LESS THAN (6) ENGINE = MyISAM, 109 PARTITION `pa8` VALUES LESS THAN (8) ENGINE = MyISAM, 110 PARTITION `pa10` VALUES LESS THAN (10) ENGINE = MyISAM) 1119*3 inserts; 112select count(*) from t3; 113count(*) 11427 115drop table t3; 116create table t4 (a decimal(18,9) not null, primary key(a)) engine='MYISAM' 117partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 ( 118partition pa2 values in (1,2), 119partition pa4 values in (3,4), 120partition pa6 values in (5,6), 121partition pa8 values in (7,8), 122partition pa10 values in (9,10) 123); 124show create table t4; 125Table Create Table 126t4 CREATE TABLE `t4` ( 127 `a` decimal(18,9) NOT NULL, 128 PRIMARY KEY (`a`) 129) ENGINE=MyISAM DEFAULT CHARSET=latin1 130 PARTITION BY LIST (ceiling(`a`)) 131SUBPARTITION BY KEY (`a`) 132SUBPARTITIONS 2 133(PARTITION `pa2` VALUES IN (1,2) ENGINE = MyISAM, 134 PARTITION `pa4` VALUES IN (3,4) ENGINE = MyISAM, 135 PARTITION `pa6` VALUES IN (5,6) ENGINE = MyISAM, 136 PARTITION `pa8` VALUES IN (7,8) ENGINE = MyISAM, 137 PARTITION `pa10` VALUES IN (9,10) ENGINE = MyISAM) 1389*3 inserts; 139select count(*) from t4; 140count(*) 14127 142drop table t4; 143