检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GLOBAL_COLUMN_TABLE_IO_STAT GLOBAL_COLUMN_TABLE_IO_STAT视图提供当前数据库所有列存表的IO统计数据。其字段的名称、类型和顺序与GS_COLUMN_TABLE_IO_STAT视图相同,具体的字段请参考表1。各统计字段为所有节点对应字段之和。
GS_RESPOOL_RESOURCE_HISTORY GS_RESPOOL_RESOURCE_HISTORY表记录资源池监控历史信息,CN和DN上均进行记录。 表1 GS_RESPOOL_RESOURCE_HISTORY字段 名称 类型 描述 timestamp timestamp
PG_GLOBAL_TEMP_ATTACHED_PIDS 查看全局临时表在当前节点占有资源的会话信息。该视图仅8.2.1.220及以上集群版本支持。 表1 PG_GLOBAL_TEMP_ATTACHED_PIDS字段 名称 类型 描述 schemaname name 模式名。 tablename
操作步骤 登录GaussDB(DWS)管理控制台。 在左侧导航栏中,选择“数据 > SQL编辑器”。 左边有两个面板,“数据仓库”和“自定义”,数据仓库是IAM用户登录,只支持拥有DWS Database Access角色权限的子账号。符合条件后可选择一个集群名称单击打开,即连接上集群数据库可进行操作。
println("finesh......"); return retValue; } 查询语句,执行失败重试,重试次数可配置。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Plan Hint实际调优案例 本节以TPC-DS标准测试的Q24的部分语句为例,在1000X,24DN环境上,说明使用plan hint进行实际调优的过程。示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
范围分区表添加新分区报错upper boundary of adding partition MUST overtop last existing partition 问题现象 创建范围分区表后增加新的分区,使用ALTER TABLE ADD PARTITION语句报错upper
数据库时间与系统时间不一致,如何更改数据库默认时区 问题现象 数据库时间与操作系统不一致,查询GaussDB(DWS)数据库默认时间SYSDATE,结果数据库时间比北京时间慢8个小时,导致无法准确定位到更新数据。 原因分析 GaussDB(DWS)数据库显示和解释时间类型数值时使
PGXC_TABLE_CHANGE_STAT PGXC_TABLE_CHANGE_STAT视图提供集群所有CN节点上当前数据库所有表的变更情况。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_TABLE_CHANGE_STAT视图相同。 表1
PGXC_WLM_SESSION_INFO PGXC_WLM_SESSION_INFO视图显示在所有CN上执行作业结束后的负载管理记录。此视图信息来源于系统表GS_WLM_SESSION_INFO。 PGXC_WLM_SESSION_INFO视图仅支持在postgres数据库中查询,其它数据库中查询会直接报错。
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)分区表 分区表就是把逻辑上的一张表根据分区策略分成几张物理块库进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。当进行条件查询时,系统只会扫描满足条件的分区,避免全表扫描,从而提升查询性能。
数据倾斜调优 数据倾斜问题是分布式架构的重要难题,它破坏了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。
DBA_TAB_COLUMNS DBA_TAB_COLUMNS视图存储关于表和视图的字段的信息。数据库里每个表的每个字段都在DBA_TAB_COLUMNS里有一行。需要有系统管理员权限才可以访问。 名称 类型 描述 owner character varying(64) 表或视图的所有者。
GS_WORKLOAD_SQL_ELAPSE_TIME GS_WORKLOAD_SQL_ELAPSE_TIME视图显示当前节点上Workload控制组内SQL语句执行的响应时间的统计信息,包括SELECT、UPDATE、INSERT、DELETE语句的最大、最小、平均、以及总响应时间,单位为微秒。