云数据库 GAUSSDB(FOR MYSQL)-INTERVAL RANGE:使用限制

时间:2024-09-11 14:19:52

使用限制

  • INTERVAL RANGE表只支持HASH/KEY二级分区。
  • 采取RANGE COLUMNS(column_list) INTERVAL([type], value)形式描述INTERVAL RANGE规则时:
    • column_list(分区键)中列个数只能为1,并且只能是是整数类型或者DATE/TIME/DATETIME类型。
    • 如果分区键是整型,INTERVAL的间隔类型type不需要填写。
    • 如果分区键为DATE类型,INTERVAL的间隔类型type只能取YEAR、QUARTER、MONTH、WEEK、DAY。
    • 如果分区键为TIME类型,INTERVAL的间隔类型type只能取HOUR、MINUTE、SECOND。
    • 如果分区间为DATETIME类型,INTERVAL的间隔类型type可以取YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND。
    • 间隔值value只能为正整数。
    • 如果INTERVAL的间隔类型是SECOND,间隔不能小于60。
  • 采取RANGE(expr) INTERVAL(value)形式描述INTERVAL RANGE规则时,expr表达式的结果应为整数,间隔值value只能为正整数。
  • 不支持使用INSERT ...SELECT语句、INSERT ...ON DUPLICATE KEY UPDATE语句、UPDATE语句触发分区新增。
  • LOAD DATA时不会触发分区新增(如果分区覆盖了所有插入数据的范围,能使用load data导入数据,如果分区没有覆盖插入数据的范围,load data无法触发自增分区,导入数据失败)。
  • 事务中如果触发分区自增,一旦新分区创建成功,不支持回滚。
  • 自增的分区使用'_p'作为分区名的前缀,因此客户设置的以此开头的分区名可能导致分区自增失败。
  • SET INTERVAL([type], value)子句只适用于INTERVAL RANGE表和RANGE表,如果这两种表有二级分区,只支持二级分区为HASH或KEY类型。
  • SET INTERVAL([type], value)子句的type和value取值要受原表的分区表达式expr或分区键column_list的约束。
support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0051.html