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

时间:2023-12-14 09:05:30

注意事项

  • 列存表支持的数据类型请参考列存表支持的数据类型
  • 创建列存的数量建议不超过1000个。
  • 表中的主键约束和唯一约束必须包含分布列。
  • 分布列不支持更新(UPDATE)操作。
  • 如果在建表过程中数据库系统发生故障,系统恢复后可能无法自动清除之前已创建的、大小为0的磁盘文件。此种情况出现概率小,不影响数据库系统的正常运行。
  • 列存表的表级约束只支持PARTIAL CLUSTER KEY,不支持主外键等表级约束。
  • 列存表的字段约束只支持NULL、NOT NULL和DEFAULT常量值。
  • 列存表支持delta表,受参数enable_delta_store控制是否开启,受参数deltarow_threshold控制进入delta表的阀值。
  • 使用JDBC时,支持通过PrepareStatement对DEFAULT值进行参数化设置。
  • 行存表的表级约束不支持外键。
  • 依据并发控制(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)策略,drop table if exist和create if exist操作相同的表并发场景时,有一个会回滚。
  • 被授予CREATE ANY TABLE权限的用户,可以在public模式和用户模式下创建表。如果想要创建包含serial类型列的表,还需要授予CREATE ANY SEQUENCE创建序列的权限。

    如果GaussDB数据库无限创建表,可能会对CN(Coordinator Node)造成以下影响:

    • 资源耗尽:每个表都会占用一定的磁盘空间,无限创建表会导致大量的内存和磁盘空间被占用,可能会导致CN的资源耗尽,从而导致系统崩溃或变得不稳定。
    • 性能下降:无限创建表会导致大量的I/O操作和CPU计算,数据库的元数据信息将会变得十分庞大,可能会导致CN的性能下降,包括插入、查询、更新和删除等操作,从而导致系统响应变慢或无法满足业务需求。
    • 安全问题:过多的表会导致数据库的管理和维护变得困难,无限创建表可能会导致数据泄露或数据丢失等安全问题,数据库的稳定性会降低,从而给企业带来不可估量的损失。

    因此,对于GaussDB数据库,应该合理规划表的数量和大小,避免无限创建表,从而保证系统的稳定性、可靠性和安全性。

support.huaweicloud.com/distributed-devg-v2-gaussdb/gaussdb_v5r2c10_0523.html