发布时间:2022-02-24 文章分类:数据库知识 投稿人:优优 字号: 默认 | | 超大 打印

mysql range分区是什么

1、基于给定区间边界,得到若干个连续区间范围,按照分区键的落点,把数据分配到不同的分区。

range分区主要用于日期列的分区。

2、range分区通过使用PARTITION BY RANGE(expr)实现 。

其中expr可以是某个列值,或一个基于某个列值并返回一个整数值的表达式,如YEAR(date)。

实例

CREATETABLE
`Order`(
`id`
INTNOTNULLAUTO_INCREMENT,
`partition_key`
INTNOTNULL,
`amt`
DECIMAL(5)NULL)PARTITIONBYRANGE(partition_key)
PARTITIONS5(
PARTITIONpart0VALUESLESSTHAN(201901),
PARTITIONpart1VALUESLESSTHAN(201902),
PARTITIONpart2VALUESLESSTHAN(201903),
PARTITIONpart3VALUESLESSTHAN(201904),
PARTITIONpart4VALUESLESSTHAN(201905),
PARTITIONpart4VALUESLESSTHANMAXVALUE;

INSERTINTO`Order`(`id`,`partition_key`,`amt`)VALUES('1','201901','1000');
INSERTINTO`Order`(`id`,`partition_key`,`amt`)VALUES('2','201902','800');
INSERTINTO`Order`(`id`,`partition_key`,`amt`)VALUES('3','201903','1200');

以上就是mysql range分区的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL