云数据库 GAUSSDB-CREATE TABLE SUBPARTITION:注意事项

时间:2025-03-03 09:49:39

注意事项

  • 二级分区表有两个分区键,对于Range/List分区键只能支持16列,对于Hash分区键只能支持1列。
  • 唯一约束和主键约束的约束键包含所有分区键将为约束创建LOCAL索引,否则创建GLOBAL索引。如果指定创建LOCAL唯一索引,必须包含所有分区键。
  • 创建二级分区表时,如果在其一级分区下不显示指定二级分区,会自动创建一个同范围的二级分区。
  • 二级分区表的总分区数(包括一级分区和二级分区)最大值为1048575个,一般情况下业务不建议创建这么多分区,当分区数太多导致内存不足时,会间接导致性能急剧下降。应参照参数local_syscache_threshold的值合理创建分区,二级分区表使用内存大致为(总分区数 * 3 / 1024)MB。理论上分区占用内存不允许大于local_syscache_threshold的值,同时还需要预留部分空间以供其他功能使用。
  • 考虑性能影响,一般建议单表最大分区数不超过2000,二级分区数 *(local索引个数 + 1) 不超过10000。
  • 二级分区表只支持行存,不支持hashbucket。
  • 不支持cluster。
  • 指定分区查询时,如SELECT * FROM tablename PARTITION/SUBPARTITION (partitionname),关键字PARTITION和SUBPARTITION注意不要写错。如果写错,查询不会报错,这时查询会变为对表起别名进行查询。
  • 不支持密态数据库、账本数据库和行级访问控制。
  • 对于二级分区表PARTITION/SUBPARTITION FOR (VALUES)语法,VALUES只能是常量。
  • 对于二级分区表PARTITION/SUBPARTITION FOR (VALUES)语法,VALUES在需要数据类型转换时,建议使用强制类型转换,以防隐式类型转换结果与预期不符。
  • 指定分区语句目前不能全局索引扫描。
  • 在为数据对象增加或者变更ILM策略的时候,如果追加了行级表达式,需要注意行表达式目前只支持白名单中列出的函数。具体白名单函数列表参考行表达式函数白名单
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0577.html