LIST分区讲解

2021-10-08 14:09:34 浏览数 (2)

LIST分区

MySQL中的LIST分区在很多方面类似于RANGE分区。

和RANGE分区一样,LIST分区的每个分区必须明确定义。

它们的主要区别在于,LIST分区是基于枚举出的值列表分区,RANGE是基于给定连续区间范围分区;

LIST分区通过使用PARTITION BY LIST(expr)来实现 。

例如:

代码语言:javascript复制
create table user(
    a int(11),
    b int(11)
)
partition by list(b)(
    partition p0 values in (1,3,5,7,9),
    partition p1 values in (2,4,6,8,0)
);

如果试图插入字段值(或分区表达式的返回值)不在分区值列表中的任何一行时,那么“INSERT”查询将失败并报错。

要重点注意的是,LIST分区没有类似如“VALUES LESS THAN MAXVALUE”这样的包含其他值在内的定义。所以将要匹配的任何值都必须在值列表中能够找到。

0 人点赞