检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对复杂SQL语句进行拆分 对于过于复杂并且不易通过以上方法调整性能的SQL可以考虑拆分的方法,把SQL中某一部分拆分成独立的SQL并把执行结果存入临时表,拆分常见的场景包括但不限于: 作业中多个SQL有同样的子查询,并且子查询数据量较大。 Plan cost计算不准,导致子查询hash
BY语句如果生成了groupagg+sort的plan性能会比较差,可以通过加大work_mem的方法生成hashagg的plan,因为不用排序而提高性能。 尝试将函数替换为case语句。 GaussDB函数调用性能较低,如果出现过多的函数调用导致性能下降,可以根据情况把可下推的函数改成CASE表达式。
BY语句如果生成了groupagg+sort的plan性能会比较差,可以通过加大work_mem的方法生成hashagg的plan,因为不用排序而提高性能。 尝试将函数替换为case语句。 GaussDB函数调用性能较低,如果出现过多的函数调用导致性能下降很多,可以根据情况把可下推函数的函数改成CASE表达式。
用于重建表或者索引分区上的索引。 RENAME PARTITION 用于重命名索引分区 MOVE PARTITION 用于修改索引分区的所属表空间。 注意事项 索引的所有者或者拥有索引所在表的INDEX权限的用户或者被授予了ALTER ANY INDEX权限的用户有权限执行此命令,系统管理员默认拥有此权限。
用于重建表或者索引分区上的索引。 RENAME PARTITION 用于重命名索引分区。 MOVE PARTITION 用于修改索引分区的所属表空间。 注意事项 索引的所有者或者拥有索引所在表的INDEX权限的用户或者被授予了ALTER ANY INDEX权限的用户有权限执行此命令,系统管理员默认拥有此权限。
TRIGGER语句用于创建一个触发器。触发器是一种特殊类型的存储过程,触发器主要用于复杂的业务规则和要求,有助于引用的完整性, 触发器将与指定的表或视图关联,并在特定条件下执行指定的函数,这样便于在添加、更新或删除表中的行时保留表中已定义的关系。 注意事项 当前仅支持在普通行存表上创建触发
mponent的取值为:/opt/huawei/snas/bin/snas_cm_cmd。 若前置脚本gs_preinstall中的--alarm-type参数设置为1时,表示对接第三方组件,此时GUC参数alarm_component的值为第三方组件的可执行程序的绝对路径。 默
址。声明网络格式为address/y,address表示IPv4地址,y表示子网掩码的二进制位数。如果省略y,则掩码部分使用已有类别的网络编号系统进行计算,但要求输入的数据已经包括了确定掩码所需的所有字节。具体请参见表2 表2 cidr类型输入举例 cidr输入 cidr输出 abbrev(cidr)
址。声明网络格式为address/y,address表示IPv4地址,y表示子网掩码的二进制位数。如果省略y,则掩码部分使用已有类别的网络编号系统进行计算,但要求输入的数据已经包括了确定掩码所需的所有字节。 表2 cidr类型输入举例 cidr输入 cidr输出 abbrev(cidr)
对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 status text 当前算子的执行状态,包括finished和running。
给组内的值生成序号。 窗口函数中的order by后面必须跟字段名,若order by后面跟数字,该数字会被按照常量处理,因此对目标列没有起到排序的作用。 当父查询中包含子查询中的窗口函数的过滤条件时,支持将父查询中的过滤条件下推到子查询中。 只支持将父查询中关于窗口函数的<、<=、=过滤条件下推到子查询中。
GLOBAL_OPERATOR_HISTORY系统视图显示的是当前用户在数据库主节点上执行作业结束后的算子的相关记录,如表1所示。 表1 GLOBAL_OPERATOR_HISTORY的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint
plan_node_id integer 查询对应的执行计划的plan node id。 plan_node_name text 对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint
用户正在执行的作业的算子相关信息。 表1 OPERATOR_RUNTIME的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。 plan_node_id integer 查询对应的执行计划的plan node
GLOBAL_OPERATOR_HISTORY系统视图显示的是当前用户在数据库主节点上执行作业结束后的算子的相关记录。 表1 GLOBAL_OPERATOR_HISTORY的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。
对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 status text 当前算子的执行状态,包括finished和running。
GLOBAL_OPERATOR_HISTORY系统视图显示的是当前用户在数据库主节点上执行作业结束后的算子的相关记录。 表1 GLOBAL_OPERATOR_HISTORY的字段 名称 类型 描述 queryid bigint 语句执行使用的内部query_id。 pid bigint 后端线程id。
对应于plan_node_id的算子的名称。 start_time timestamp with time zone 该算子处理第一条数据的开始时间。 duration bigint 该算子到结束时候总的执行时间(ms)。 status text 当前算子的执行状态,包括finished和running。
一个查询语句要经过多个算子步骤才会输出最终的结果。由于个别算子耗时过长导致整体查询性能下降的情况比较常见。这些算子是整个查询的瓶颈算子。通用的优化手段是EXPLAIN ANALYZE/PERFORMANCE命令查看执行过程的瓶颈算子,然后进行针对性优化。 如下面的执行过程信息中,Hashagg算子的执行时间占总时间的:(51016-13535)/
name package的名字。 pkgspecsrc text package specification的内容。 pkgbodydeclsrc text package body的内容。 pkgbodyinitsrc text package init的内容。 pkgacl aclitem[]