外观
MySQL 分区对 null 的处理
MySQL 中的分区不会禁止 null 作为分区表达式的值,无论列值还是用户提供的表达式的值,都允许 null 用作必须产生整数的表达式的值。MySQL 中的分区将 null 视为小于任何非 null 值。
范围分区中如何处理 null
要将一行数据插入分区中,如果用于确定范围分区的列值为 null,那么该行将插入最低分区中。
列表分区中如何处理 null
当且仅当定义的分区中存在分区其 values in 后跟的值列表中存在 null 值时,才允许 null 值插入该分区。
mysql
create table ts2 (
c1 int,
c2 varchar(20)
)
partition by list(c1) (
partition p0 values in (0, 3, 6),
partition p1 values in (1, 4, 7),
partition p2 values in (2, 5, 8),
partition p3 values in (null)
);1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
哈希分区和健分区中如何处理 null
在哈希分区和键分区的表中,任何产生 null 值的分区表达式的返回值都为 0。