检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
PGXC_TOTAL_SCHEMA_INFO_ANALYZE PGXC_TOTAL_SCHEMA_INFO_ANALYZE视图提供了集群整体的Schema空间信息,包括:集群空间总值、各实例空间平均值、倾斜率、单实例空间最大值、单实例空间最小值以及最大最小空间所在的实例名,便于用户获悉集群整体的
PGXC_WORKLOAD_SQL_COUNT PGXC_WORKLOAD_SQL_COUNT视图显示集群中所有CN节点上的Workload控制组内的SQL语句执行次数的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的执行次数统计,以及DDL、DML、DCL
USER_IND_COLUMNS USER_IND_COLUMNS视图存储当前用户下所有索引的字段信息。 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying(64) 索引名。
USER_IND_EXPRESSIONS USER_IND_EXPRESSIONS视图存储当前用户下基于函数的表达式索引的信息。 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name character varying
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
PGXC_MEMORY_DEBUG_INFO PGXC_MEMORY_DEBUG_INFO视图显示当前集群每个节点在执行作业时的内存报错信息,便于定位内存报错问题,当执行语句报错提示“memory is temporarily unavailable”时,通过该视图可查询到所有节点的内存报错信息
创建和使用GaussDB(DWS)序列 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是声明字段的类型为序列整型
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下
UTL_RAW 接口介绍 高级功能包UTL_RAW支持的所有接口请参见表1。 表1 UTL_RAW 接口名称 描述 UTL_RAW.CAST_FROM_BINARY_INTEGER 将INTEGER类型值转换为二进制表示形式(即RAW类型)。 UTL_RAW.CAST_TO_BINARY_INTEGER
分析作业是否被阻塞 数据库系统运行时,在某些业务场景下查询语句会被阻塞,导致语句运行时间过长,可以强制结束有问题的会话。 操作步骤 查看阻塞的查询语句及阻塞查询的表、模式信息。 1 2 3 4 5 6 7 8 9 10 11 SELECT w.query as waiting_query
案例:改写SQL消除in-clause 优化前 in-clause/any-clause是常见的SQL语句约束条件,有时in或any后面的clause都是常量,类似于: 1 2 3 4 select count(1) from calc_empfyc_c1_result_tmp_t1
GOTO语句 GOTO语句可以实现从GOTO位置到目标语句的无条件跳转。GOTO语句会改变原本的执行逻辑,因此应该慎重使用,或者也可以使用EXCEPTION处理特殊场景。当执行GOTO语句时,目标Label必须是唯一的。 语法 label declaration ::= goto
UPDATE&DELETE操作规范 建议3.5 避免并发UPDATE/DELETE行存表的同一行 违反规范的影响: 并发UPDATE/DELETE行存表可能导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 按主键或分布列进行分组UPDATE/DELETE,组间并行
UTL_RAW 接口介绍 高级功能包UTL_RAW支持的所有接口请参见表1。 表1 UTL_RAW 接口名称 描述 UTL_RAW.CAST_FROM_BINARY_INTEGER 将INTEGER类型值转换为二进制表示形式(即RAW类型)。 UTL_RAW.CAST_TO_BINARY_INTEGER
通过外表查询OBS上的数据 直接查询外表查看OBS上的数据 如果数据量较少,可直接使用SELECT查询外表,即可查看到OBS上的数据。 执行以下命令,则可以从外表查询数据。 1 SELECT * FROM product_info_ext_obs; 查询结果显示与原始数据显示相同
为什么在互联网环境连接GaussDB(DWS)后,解绑了EIP不会立即返回失败消息? 这是因为解绑了EIP后,会导致网络断开。但是此过程中,TCP协议层因keepalive等的设置,无法及时识别物理连接已经故障,导致gsql,ODBC和JDBC等客户端无法及时识别网络故障。 客户端等待数据库返回的时间与