mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
	
		
			3.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
	
		
			3.8 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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  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
 | |
| -1.0000
 | |
| -1.5000
 | |
| -1234.5670
 | |
| -123456.7899
 | |
| -999999.9999
 | |
| 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
 | |
| -1.0000
 | |
| -1.5000
 | |
| -1234.5670
 | |
| -123456.7899
 | |
| -999999.9999
 | |
| 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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  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
 | |
| -1.000000000
 | |
| -1.500000000
 | |
| -1234.567000000
 | |
| -999999999.999999999
 | |
| 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
 | |
| -1.000000000
 | |
| -1.500000000
 | |
| -1234.567000000
 | |
| -999999999.999999999
 | |
| 0.000000000
 | |
| 1.500000000
 | |
| 999999999.999999999
 | |
| delete from t2;
 | |
| 65535*3 inserts;
 | |
| select count(*) from t2;
 | |
| count(*)
 | |
| 196605
 | |
| drop table t2;
 | |
| create table t3 (a decimal(18,9) not null, primary key(a)) engine='MYISAM' 
 | |
| partition by range (floor(a)) subpartition by key (a) subpartitions 2 (
 | |
| partition pa2 values less than (2),
 | |
| partition pa4 values less than (4),
 | |
| partition pa6 values less than (6),
 | |
| partition pa8 values less than (8),
 | |
| partition pa10 values less than (10)
 | |
| );
 | |
| show create table t3;
 | |
| Table	Create Table
 | |
| t3	CREATE TABLE `t3` (
 | |
|   `a` decimal(18,9) NOT NULL,
 | |
|   PRIMARY KEY (`a`)
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY RANGE (floor(`a`))
 | |
| SUBPARTITION BY KEY (`a`)
 | |
| SUBPARTITIONS 2
 | |
| (PARTITION `pa2` VALUES LESS THAN (2) ENGINE = MyISAM,
 | |
|  PARTITION `pa4` VALUES LESS THAN (4) ENGINE = MyISAM,
 | |
|  PARTITION `pa6` VALUES LESS THAN (6) ENGINE = MyISAM,
 | |
|  PARTITION `pa8` VALUES LESS THAN (8) ENGINE = MyISAM,
 | |
|  PARTITION `pa10` VALUES LESS THAN (10) ENGINE = MyISAM)
 | |
| 9*3 inserts;
 | |
| select count(*) from t3;
 | |
| count(*)
 | |
| 27
 | |
| drop table t3;
 | |
| create table t4 (a decimal(18,9) not null, primary key(a)) engine='MYISAM' 
 | |
| partition by list (ceiling(a)) subpartition by key (a) subpartitions 2 (
 | |
| partition pa2 values in (1,2),
 | |
| partition pa4 values in (3,4),
 | |
| partition pa6 values in (5,6),
 | |
| partition pa8 values in (7,8),
 | |
| partition pa10 values in (9,10)
 | |
| );
 | |
| show create table t4;
 | |
| Table	Create Table
 | |
| t4	CREATE TABLE `t4` (
 | |
|   `a` decimal(18,9) NOT NULL,
 | |
|   PRIMARY KEY (`a`)
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
|  PARTITION BY LIST (ceiling(`a`))
 | |
| SUBPARTITION BY KEY (`a`)
 | |
| SUBPARTITIONS 2
 | |
| (PARTITION `pa2` VALUES IN (1,2) ENGINE = MyISAM,
 | |
|  PARTITION `pa4` VALUES IN (3,4) ENGINE = MyISAM,
 | |
|  PARTITION `pa6` VALUES IN (5,6) ENGINE = MyISAM,
 | |
|  PARTITION `pa8` VALUES IN (7,8) ENGINE = MyISAM,
 | |
|  PARTITION `pa10` VALUES IN (9,10) ENGINE = MyISAM)
 | |
| 9*3 inserts;
 | |
| select count(*) from t4;
 | |
| count(*)
 | |
| 27
 | |
| drop table t4;
 | 
