分区与分桶:
Doris中有两层的数据划分,第一层是分区(Partition),第二层是分桶(Bucket)。
Partition又能分为Range分区和List分区。Bucket仅支持Hash方式。
Partition:
- 只能指定Key列作为分区列
- 指定分区值时需要加双引号
- 理论上分区数量没有上限
- 在不使用分区建表时,系统会自动创建一个表名一致但是用户不可见的全表分区
Partition_Range:
按照指定范围进行分区,一般生产环境下会使用日期作为分区
- VALUES LESS THAN (...) :仅指定上界,系统会将前一个分区的上界作为该分区的下界,会生成一个左闭右开的区间
- VALUES [....) :同时指定上下界,比较好理解,也会生成一个左闭右开的区间
- 查看Partition的使用命令:HELP PARTITION;
示例:
-- 创建一张Range分区表
CREATE TABLE IF NOT EXISTS test.students2
(
`sid` LARGEINT NOT NULL COMMENT "学生id",
`name` VARCHAR(50