Mysqlはdateタイプによってパーティション化されます
7491 ワード
Mysqlはdateタイプによってパーティション化されます
1.mysql直接dateタイプによるパーティション
ここで使用するパーティション構文は
2.to_を使うdays()関数はdate型値をint型値に変換してパーティション化する
1.mysql直接dateタイプによるパーティション
create table tie_shop_device_day_1
(
tie_day datetime not null comment ' ' primary key,
shop_id bigint not null comment ' ID',
shop_name varchar(255) default '' not null
)
PARTITION BY range columns (tie_day) (
PARTITION p0 VALUES LESS THAN ('2018-08-01'),
PARTITION p1 VALUES LESS THAN ('2018-09-01')
);
ここで使用するパーティション構文は
range columns(tie_day)
です.同時にless than
に続くのは標準的なdate日付です.2.to_を使うdays()関数はdate型値をint型値に変換してパーティション化する
select to_days('2018-12-12');
+-----------------------+
| to_days('2018-12-12') |
+-----------------------+
| 737405 |
+-----------------------+
1 row in set (0.00 sec)
create table tie_shop_device_day
(
mid bigint auto_increment,
tie_day date not null comment ' ',
shop_id bigint not null comment ' ID',
shop_name varchar(255) default '' not null,
primary key (mid,tie_day)
)
comment ' ( )'
PARTITION BY RANGE (to_days(tie_day)) (
PARTITION p0 VALUES LESS THAN (to_days('2018-08-01')),
PARTITION p1 VALUES LESS THAN (to_days('2018-09-01')),
PARTITION p2 VALUES LESS THAN (to_days('2018-10-01')),
PARTITION p3 VALUES LESS THAN (to_days('2018-11-01')),
PARTITION p4 VALUES LESS THAN (to_days('2018-12-01')),
PARTITION p5 VALUES LESS THAN (to_days('2019-01-01'))
);