检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
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
GS_WLM_OPERATOR_INFO GS_WLM_OPERATOR_INFO系统表显示执行作业结束后的算子相关的记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时将GS_WLM_OPERATOR_HI
PGXC_STAT_REPLICATION PGXC_STAT_REPLICATION视图显示集群中各节点上日志同步的状态信息,除新增node_name(节点名称)字段外,其余字段内容和PG_STAT_REPLICATION视图相同。需要有系统管理员权限才可以访问此视图。 表1
PGXC_ROW_TABLE_IO_STAT PGXC_ROW_TABLE_IO_STAT视图提供集群所有CN和DN节点上当前数据库所有行存表的IO统计数据。除在每一行前面增加name类型的nodename字段外,其余字段的名称、类型和顺序与GS_ROW_TABLE_IO_STAT视图相同,具体的字段请参考表1。
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute([@block_name]
GS_WLM_OPERATOR_INFO GS_WLM_OPERATOR_INFO系统表显示执行作业结束后的算子相关的记录。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时将GS_WLM_OPERATOR_HI
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
Join顺序的Hint 功能描述 指明join的顺序,包括内外表顺序。 语法格式 仅指定join顺序,不指定内外表顺序。 1 leading(join_table_list) 同时指定join顺序和内外表顺序,内外表顺序仅在最外层生效。 1 leading((join_table_list))
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute(table_list)
配置参数的hint 功能描述 指明计划生成时配置参数的值,又称作guc hint。 语法格式 set [global](guc_name guc_value) 参数说明 global表示hint设置的配置参数在语句级别生效,不加global表示hint设置的配置参数在子查询级别生
PGXC_REPLICATION_SLOTS PGXC_REPLICATION_SLOTS视图显示集群中DN上的复制信息,除新增node_name(节点名称)字段外,其余字段内容和PG_REPLICATION_SLOTS视图相同。需要有系统管理员权限才可以访问此视图。 表1 PG
GLOBAL_ROW_TABLE_IO_STAT GLOBAL_ROW_TABLE_IO_STAT视图提供当前数据库所有行存表的IO统计数据。其字段的名称、类型和顺序与GS_ROW_TABLE_IO_STAT视图相同,具体的字段请参考表1。各统计字段为所有节点对应字段之和。 表1
字典编码的hint 功能描述 通过设置指定列来构建字典编码,将字典编码的字符串的比较转化为数字的比较,加快group by、filter等查询速度。该hint仅8.3.0及以上集群版本支持。 注意事项 目前只支持新版的hstore表(表级参数为enable_hstore_opt为on)。
GS_QUERY_RESOURCE_INFO GS_QUERY_RESOURCE_INFO视图显示当前DN节点所有正在运行作业的资源信息。该参数仅9.1.0及以上集群版本支持。 该视图只能在DN节点上查询。仅适用于运维操作定位问题,不建议用户使用。 表1 GS_QUERY_RESOURCE_INFO
Scan方式的Hint 功能描述 指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。 语法格式 1 [no] tablescan|indexscan|indexonlyscan([@block_name] table [index])
配置参数的hint 功能描述 指明计划生成时配置参数的值,又称作guc hint。 注意事项 如果hint设置的配置参数在语句级别生效,则该hint必须写在顶层查询中,而不能写在子查询中。对于UNION、INTERSECT、EXCEPT和MINUS语句,可以将在语句级别的guc
PGXC_STAT_REPLICATION PGXC_STAT_REPLICATION视图显示集群中各节点上日志同步的状态信息,除新增node_name(节点名称)字段外,其余字段内容和PG_STAT_REPLICATION视图相同。需要有系统管理员权限才可以访问此视图。 表1
PGXC_WLM_OPERATOR_INFO PGXC_WLM_OPERATOR_INFO视图显示在所有CN上执行作业结束时的算子信息。此视图的数据直接从系统表GS_WLM_OPERATOR_INFO获取。 需要有系统管理员权限或预置角色gs_role_read_all_stat