mirror of
https://github.com/MariaDB/server.git
synced 2025-01-24 07:44:22 +01:00
abd09620db
The partitioning clause is only a very long single line, which is very hard to interpret for a human. This patch breaks the partitioning syntax into one line for the partitioning type, and one line per partition/subpartition.
88 lines
2 KiB
Text
88 lines
2 KiB
Text
create table t1 (a decimal(10,4) not null, primary key(a)) engine='MYISAM'
|
|
partition by key (a) (
|
|
partition pa1 max_rows=20 min_rows=2,
|
|
partition pa2 max_rows=30 min_rows=3,
|
|
partition pa3 max_rows=30 min_rows=4,
|
|
partition pa4 max_rows=40 min_rows=2);
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` decimal(10,4) NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 ENGINE = MyISAM,
|
|
PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 ENGINE = MyISAM,
|
|
PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 ENGINE = MyISAM,
|
|
PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 ENGINE = MyISAM) */
|
|
insert into t1 values (999999.9999), (-999999.9999), (123456.7899), (-123456.7899), (-1.5), (1), (0), (-1), (1.5), (1234.567), (-1234.567);
|
|
select * from t1;
|
|
a
|
|
-999999.9999
|
|
-123456.7899
|
|
-1234.5670
|
|
-1.5000
|
|
-1.0000
|
|
0.0000
|
|
1.0000
|
|
1.5000
|
|
1234.5670
|
|
123456.7899
|
|
999999.9999
|
|
select * from t1 where a=1234.567;
|
|
a
|
|
1234.5670
|
|
delete from t1 where a=1234.567;
|
|
select * from t1;
|
|
a
|
|
-999999.9999
|
|
-123456.7899
|
|
-1234.5670
|
|
-1.5000
|
|
-1.0000
|
|
0.0000
|
|
1.0000
|
|
1.5000
|
|
123456.7899
|
|
999999.9999
|
|
drop table t1;
|
|
create table t2 (a decimal(18,9) not null, primary key(a)) engine='MYISAM'
|
|
partition by key (a) partitions 10;
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`a` decimal(18,9) NOT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY KEY (a)
|
|
PARTITIONS 10 */
|
|
insert into t2 values (999999999.999999999), (-999999999.999999999), (-1.5), (-1), (0), (1.5), (1234.567), (-1234.567);
|
|
select * from t2;
|
|
a
|
|
-999999999.999999999
|
|
-1234.567000000
|
|
-1.500000000
|
|
-1.000000000
|
|
0.000000000
|
|
1.500000000
|
|
1234.567000000
|
|
999999999.999999999
|
|
select * from t2 where a=1234.567;
|
|
a
|
|
1234.567000000
|
|
delete from t2 where a=1234.567;
|
|
select * from t2;
|
|
a
|
|
-999999999.999999999
|
|
-1234.567000000
|
|
-1.500000000
|
|
-1.000000000
|
|
0.000000000
|
|
1.500000000
|
|
999999999.999999999
|
|
delete from t2;
|
|
65535*3 inserts;
|
|
select count(*) from t2;
|
|
count(*)
|
|
196605
|
|
drop table t2;
|