MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
partition_year.inc
1 eval create table t1 (a year not null, primary key(a)) engine=$engine
2 partition by key (a) (
3 partition pa1 max_rows=20 min_rows=2,
4 partition pa2 max_rows=30 min_rows=3,
5 partition pa3 max_rows=30 min_rows=4,
6 partition pa4 max_rows=40 min_rows=2);
7 show create table t1;
8 insert into t1 values ('1975'), (2020), ('1980'), ('2000');
9 select * from t1;
10 select * from t1 where a=1980;
11 delete from t1 where a=1980;
12 select * from t1;
13 drop table t1;
14 
15 eval create table t2 (a year not null, primary key(a)) engine=$engine
16 partition by key (a) partitions 12;
17 show create table t2;
18 insert into t2 values ('1975'), ('2020'), ('1980'), ('2000');
19 select * from t2;
20 select * from t2 where a='1980';
21 delete from t2 where a='1980';
22 select * from t2;
23 delete from t2;
24 let $count=255;
25 --echo $count inserts;
26 --disable_query_log
27 while ($count)
28 {
29 eval insert into t2 values (1901+$count);
30 dec $count;
31 }
32 --enable_query_log
33 select count(*) from t2;
34 select * from t2;
35 drop table t2;
36