检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
PG_RELFILENODE_SIZE PG_RELFILENODE_SIZE系统表存储文件级空间统计信息,表中的每一条记录则对应磁盘上相应的物理文件和该文件的文件大小。 表1 PG_RELFILENODE_SIZE字段 名称 类型 描述 databaseid oid 物理文件所
GLOBAL_ROW_TABLE_IO_STAT GLOBAL_ROW_TABLE_IO_STAT视图提供当前数据库所有行存表的IO统计数据。其字段的名称、类型和顺序与GS_ROW_TABLE_IO_STAT视图相同,具体的字段请参考表1。各统计字段为所有节点对应字段之和。 表1
范围分区表添加新分区报错upper boundary of adding partition MUST overtop last existing partition 问题现象 创建范围分区表后增加新的分区,使用ALTER TABLE ADD PARTITION语句报错upper
GS_WORKLOAD_SQL_ELAPSE_TIME GS_WORKLOAD_SQL_ELAPSE_TIME视图显示当前节点上Workload控制组内SQL语句执行的响应时间的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的最大、最小、平均、以及总响应时间,单位为微秒。
PG_AVAILABLE_EXTENSION_VERSIONS PG_AVAILABLE_EXTENSION_VERSIONS视图显示数据库中某些特性的扩展版本信息。 表1 PG_AVAILABLE_EXTENSION_VERSIONS字段 名称 类型 描述 name name 扩展名。
PG_STAT_XACT_USER_FUNCTIONS PG_STAT_XACT_USER_FUNCTIONS视图显示关于函数执行的统计信息。 表1 PG_STAT_XACT_USER_FUNCTIONS字段 名称 类型 描述 funcid oid 函数OID。 schemaname
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
动态调用存储过程 动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_procedure::= using_clause子句的语法参见图2。
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。
PGXC_TABLE_CHANGE_STAT PGXC_TABLE_CHANGE_STAT视图提供集群所有CN节点上当前数据库所有表的变更情况。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_TABLE_CHANGE_STAT视图相同。 表1
PG_CONSTRAINT PG_CONSTRAINT系统表存储表上的检查约束、主键、唯一约束和外键约束。 表1 PG_CONSTRAINT字段 名称 类型 描述 conname name 约束名称(不一定是唯一的)。 connamespace oid 包含约束的命名空间的OID。
REMOTE_TABLE_STAT REMOTE_TABLE_STAT视图提供集群所有DN节点上当前数据库所有表的统计信息。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_TABLE_STAT视图相同。 表1 REMOTE_TABLE_STAT字段
PGXC_RESPOOL_RUNTIME_INFO PGXC_RESPOOL_RUNTIME_INFO视图显示所有CN上所有资源池作业运行信息。 表1 PGXC_RESPOOL_RUNTIME_INFO字段 名称 类型 描述 nodename name CN名称。 nodegroup
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
PG_STAT_DATABASE_CONFLICTS PG_STAT_DATABASE_CONFLICTS视图显示数据库冲突状态的统计信息。 表1 PG_STAT_DATABASE_CONFLICTS字段 名称 类型 描述 datid oid 数据库OID。 datname name
PG_STAT_XACT_SYS_TABLES PG_STAT_XACT_SYS_TABLES视图显示命名空间中系统表的事务状态信息。 表1 PG_STAT_XACT_SYS_TABLES字段 名称 类型 描述 relid oid 表的OID。 schemaname name 此表的模式名。
PG_STATIO_ALL_SEQUENCES PG_STATIO_ALL_SEQUENCES视图显示当前数据库中相关的序列信息以及指定序列的I/O的统计信息。 表1 PG_STATIO_ALL_SEQUENCES字段 名称 类型 描述 relid oid 序列OID。 schemaname