检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据倾斜调优 数据倾斜问题是分布式架构的重要难题,它破坏了MPP架构中各个节点对等的要求,导致单节点(倾斜节点)所存储或者计算的数据量远大于其他节点,所以会造成以下危害: 存储上的倾斜会严重限制系统容量,在系统容量不饱和的情况下,由于单节点倾斜的限制,使得整个系统容量无法继续增长。
案例:增加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。
创建和管理GaussDB(DWS)数据库 数据库(Database)是表、索引、视图、存储过程、操作符等对象的集合。GaussDB(DWS)支持创建多个数据库,但是客户端程序一次只能连接并访问一个数据库,无法跨数据库进行查询。 模板和默认数据 GaussDB(DWS)提供了两个模
SCHEMA对象设计规范 建议2.7 不在其他USER的私有SCHEMA下创建对象 私有SCHEMA是指创建USER时自带的同名SCHEMA,该SCHEMA为该USER私有。 违反规则的影响: 在其他用户私有SCHEMA下创建对象,对象权限不受创建者控制,OWNER也非创建者。 方案建议:
VIEW对象设计规范 建议2.16 视图的嵌套需避免超过三层 违反规范的影响: 视图嵌套过深导致执行计划不稳定、耗时不稳定。 视图依赖的对象重建风险高,锁冲突发生概率增大。 方案建议: 创建视图直接基于物理表查询,不建议嵌套视图。 父主题: GaussDB(DWS)对象设计规范
子查询调优 子查询背景介绍 应用程序通过SQL语句来操作数据库时会使用大量的子查询,这种写法比直接对两个表做连接操作在结构上和思路上更清晰,尤其是在一些比较复杂的查询语句中,子查询有更完整、更独立的语义,会使SQL对业务逻辑的表达更清晰更容易理解,因此得到了广泛的应用。 Gaus
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。
系统表和系统视图概述 系统表是GaussDB(DWS)存放结构元数据,是GaussDB(DWS)数据库系统运行控制信息的来源,也是数据库系统的核心组成部分。系统表包含集群安装信息以及GaussDB(DWS)上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。
PGXC_TABLE_CHANGE_STAT PGXC_TABLE_CHANGE_STAT视图提供集群所有CN节点上当前数据库所有表的变更情况。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_TABLE_CHANGE_STAT视图相同。 表1
Schema Oid。 srvname text 外部服务器名称。 source text 元数据服务类型。 address text 元数据服务地址。 database text 元数据服务器数据库。 confpath text 元数据服务器配置文件路径。 ensoptions text[]
将Schema中的表的查询权限赋给其他用户,赋权后仍无法查询Schema中的表 问题现象 有权限的用户使用“GRANT SELECT ON all tables in schema schema_name TO u1”命令给u1用户赋予schema下表的权限后,u1用户仍然无法访问该schema下的表。
将导出文件发送至指定目录文件夹。如果这里省略,则使用标准输出。 -f /home//backup/postgres_backup.tar -p 指定服务器所监听的TCP端口或本地Unix域套接字后缀,以确保连接。 -p 8000 -h “集群地址”如果通过公网地址连接,请指定为集群“公网访
GS_NODE_STAT_RESET_TIME GS_NODE_STAT_RESET_TIME视图提供当前节点的统计信息重置时间,返回带时区的时间戳。 详细含义参考get_node_stat_reset_time()函数。 实例正常运行过程中,内存中的各类统计数值会逐渐累加,以下情况会导致内存中的统计数值被重置为0:
GS_TOTAL_NODEGROUP_MEMORY_DETAIL GS_TOTAL_NODEGROUP_MEMORY_DETAIL视图统计当前数据库逻辑集群使用内存的信息,单位为MB。 表1 GS_TOTAL_NODEGROUP_MEMORY_DETAIL字段 名称 类型 描述 ngname
PGXC_NODE_STAT_RESET_TIME PGXC_NODE_STAT_RESET_TIME视图显示集群中各节点的统计信息重置时间,除新增node_name(节点名称)字段外,其余字段内容和GS_NODE_STAT_RESET_TIME视图相同。需要有系统管理员权限才可以访问此视图。
PGXC_WLM_OPERATOR_HISTORY PGXC_WLM_OPERATOR_HISTORY视图显示在所有CN上执行作业结束时的算子信息。此视图用于从GaussDB(DWS)数据库中查询数据,数据库中的数据会被定时清理,清理周期为3分钟。 需要有系统管理员权限或预置角色
PGXC_COLUMN_TABLE_IO_STAT PGXC_COLUMN_TABLE_IO_STAT视图提供集群所有CN和DN节点上当前数据库所有列存表的IO统计数据。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_COLUMN_TAB
GLOBAL_COLUMN_TABLE_IO_STAT GLOBAL_COLUMN_TABLE_IO_STAT视图提供当前数据库所有列存表的IO统计数据。其字段的名称、类型和顺序与GS_COLUMN_TABLE_IO_STAT视图相同,具体的字段请参考表1。各统计字段为所有节点对应字段之和。
PG_GLOBAL_TEMP_ATTACHED_PIDS 查看全局临时表在当前节点占有资源的会话信息。该视图仅8.2.1.220及以上集群版本支持。 表1 PG_GLOBAL_TEMP_ATTACHED_PIDS字段 名称 类型 描述 schemaname name 模式名。 tablename