检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL调优流程 对慢SQL语句进行分析,通常包括以下步骤: 操作步骤 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。
PG_LOCKS PG_LOCKS视图存储各打开事务所持有的锁信息。 表1 PG_LOCKS字段 名称 类型 引用 描述 locktype text - 被锁定对象的类型:relation,extend,page,tuple,transactionid,virtualxid,ob
GAUSS-03571 -- GAUSS-03580 GAUSS-03571: "WAL level not sufficient for making an online backup" SQLSTATE: 55000 错误原因:配置WAL级别不足。 解决办法:配置WAL级别为
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 语句下推调优 子查询调优 统计信息调优 算子级调优 数据倾斜调优 父主题:
PV_SESSION_TIME PV_SESSION_TIME视图用于统计会话线程的运行时间信息及各执行阶段所消耗时间,单位为微秒。 表1 PV_SESSION_TIME字段 名称 类型 描述 sessid text 线程标识+线程启动时间。 stat_id integer 统计编号。
赋值语句 语法 给变量赋值的语法请参见图1。 图1 assignment_value::= 对以上语法格式的解释如下: variable_name,为变量名。 value,可以是值或表达式。值value的类型需要和变量variable_name的类型兼容才能正确赋值。 示例 1 2
PG_REDACTION_POLICY PG_REDACTION_POLICY系统表提供了脱敏对象的信息。 表1 PG_REDACTION_POLICY字段 名称 类型 描述 object_oid oid 脱敏对象OID。 policy_name name 脱敏策略名称。 enable
PG_STAT_DATABASE_CONFLICTS PG_STAT_DATABASE_CONFLICTS视图显示数据库冲突状态的统计信息。 表1 PG_STAT_DATABASE_CONFLICTS字段 名称 类型 描述 datid oid 数据库OID。 datname name
PGXC_OS_THREADS PGXC_OS_THREADS视图提供当前集群中所有正常节点下的线程状态信息。 表1 PGXC_OS_THREADS字段 名称 类型 描述 node_name text 当前集群中所有正常节点的名称。 pid bigint 当前集群中所有正常节点进程中正在运行的线程号。
执行Plan Hint的Scan方式不生效 问题现象 DWS中指定了Plan Hint的scan方式,但是并未生效。 原因分析 Plan Hint语法使用错误。Plan Hint的Scan语法应在SELECT语句中增加“/*+ indexscan(table_name index_name)
PG_INDEX PG_INDEX系统表存储索引的一部分信息,其他的信息大多数在PG_CLASS中。 表1 PG_INDEX字段 名称 类型 描述 indexrelid oid 此索引的pg_class项的OID。 indrelid oid 使用该索引的表在pg_class项的OID。
数组表达式 IN expression IN (value [, ...]) 右侧括号中的是一个表达式列表。左侧表达式的结果与表达式列表的内容进行比较。如果列表中的内容符合左侧表达式的结果,则IN的结果为true。如果没有相符的结果,则IN的结果为false。 示例如下: 1 2
GS_VIEW_INVALID GS_VIEW_INVALID视图提供查询当前用户可见的所有不可用的视图。如果该视图依赖的基础表或函数或同义词存在异常,该视图validtype列显示为“invalid”。 表1 GS_VIEW_INVALID字段 名称 类型 描述 oid oid
PG_GET_INVALID_BACKENDS PG_GET_INVALID_BACKENDS视图提供显示CN上连接到当前DN备机的后端线程信息。 表1 PG_GET_INVALID_BACKENDS字段 名称 类型 描述 pid bigint 线程ID。 node_name text
PG_GET_INVALID_BACKENDS PG_GET_INVALID_BACKENDS视图提供显示CN上连接到当前DN备机的后端线程信息。 表1 PG_GET_INVALID_BACKENDS字段 名称 类型 描述 pid bigint 线程ID。 node_name text
PG_OS_THREADS PG_OS_THREADS视图提供当前节点下所有线程的状态信息。 表1 PG_OS_THREADS字段 名称 类型 描述 node_name text 当前节点名称。 pid bigint 当前节点进程中正在运行的线程号。 lwpid integer 与pid对应的轻量级线程号。
执行CREATE SCHEMA语句时,报错SCHEMA已存在 问题现象 执行CREATE SCHEMA语句时,报错要创建的schema已存在。 1 ERROR: schema "schema" already exists 原因分析 在SQL语句中,字段名称是区分大小写的,默认为小写字段名。
GAUSS-03781 -- GAUSS-03790 GAUSS-03781: "CStore: unrecognized heap_update status: %u" SQLSTATE: XX000 错误原因:CUDesc表Tuple更新状态不能识别。 解决办法:请联系技术支持工程师提供技术支持。
GAUSS-03361 -- GAUSS-03370 GAUSS-03361: "source string too short for '%s' formatting field" SQLSTATE: 22007 错误原因:日期时间格式错误,源字符串长度小于需要读取的长度。 解
GAUSS-00111 -- GAUSS-00120 GAUSS-00111: "column '%s' cannot be declared SETOF" SQLSTATE: 42P16 错误原因:函数的返回中声明某一列为SETOF。 解决办法:函数的返回中不能声明某一列为SETOF。