检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例:设置cost_param对查询性能优化 cost_param参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。 场景一:优化前 cost_param的bit0(set
postgresql”替换为“com.huawei.gauss200.jdbc”),数据库连接的URL前缀为“jdbc:gaussdb”,其余与gsjdbc4.jar相同。 驱动类 在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”(对应包gsjdbc4
dbc</artifactId> <version>8.1.1.1</version> </dependency> 获取数据库连接。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 private
通常优化器会根据统计信息选择一组不倾斜的分布键进行数据重分布。当默认选择的分布键有倾斜时,可以手动指定重分布的列,避免数据倾斜。 在选择分布键的时候,通常要根据数据分布特征选取一组distinct值比较高的列作为分布列,这样可以保证重分布后,数据均匀的分布到各个DN。 在编写好hint后,可以通过explain
案例:调整GUC参数best_agg_plan 现象描述 t1的表定义为: 1 create table t1(a int, b int, c int) distribute by hash(a); 假设agg下层算子所输出结果集的分布列为setA,agg操作的group by
PGXC_RESPOOL_RESOURCE_INFO PGXC_RESPOOL_RESOURCE_INFO视图显示所有实例上资源池实时监控信息。 DN上仅显示当前DN所属逻辑集群的资源池监控信息。 从8.2.0集群版本开始,新增了内存负反馈机制功能,CCN节点会根据DN节点的实际
PGXC_STAT_REPLICATION PGXC_STAT_REPLICATION视图显示集群中各节点上日志同步的状态信息,除新增node_name(节点名称)字段外,其余字段内容和PG_STAT_REPLICATION视图相同。需要有系统管理员权限才可以访问此视图。 表1
t的计划,指定相应的hint则不会被使用。 对于AGG重分布列的hint,hint未被使用的可能原因如下: 指定的分布键包含不支持重分布的数据类型。 执行计划中不需要重分布。 执行的分布键的序号有误。 对于使用grouping sets子句和cube子句的AP函数,window agg中的分布键,不支持hint。
t的计划,指定相应的hint则不会被使用。 对于AGG重分布列的hint,hint未被使用的可能原因如下: 指定的分布键包含不支持重分布的数据类型。 执行计划中不需要重分布。 执行的分布键的序号有误。 对于使用grouping sets子句和cube子句的AP函数,window agg中的分布键,不支持hint。
告警属性 告警ID 告警归属 告警级别 告警类型 业务类型 是否可自动清除 DWS_2000000017 管理面 >10 紧急 操作告警 数据仓库服务 是 告警参数 类别 参数名称 参数含义 定位信息 名称 DWS集群查询语句堆积数量超阈值。 类型 操作告警。 发生时间 告警发生时间。
告警。 告警属性 告警ID 告警归属 告警级别 告警类型 业务类型 是否可自动清除 DWS_2000000020 管理面 重要 操作告警 数据仓库服务 是 告警参数 类别 参数名称 参数含义 定位信息 名称 DWS集群的sql探针耗时超阈值。 类型 操作告警。 发生时间 告警发生时间。
group by a; 从计划可以看出,对Hash Agg进行倾斜优化后,采用了双层agg实现,大大过滤了进行重分布时的数据量,减少了重分布时间。 此外,需要说明的是,对于子查询,支持使用查询内部的列进行hint,如: 1 2 3 4 5 explain select
Join顺序的Hint 功能描述 指明join的顺序,包括内外表顺序。 语法格式 单层圆括号(),仅指定join顺序,不指定内外表顺序。 1 2 leading(join_table_list) leading(@block_name join_table_list) 双层
Join方式的Hint 功能描述 指明Join使用的方法,可以为Nested Loop,Hash Join和Merge Join。 语法格式 1 [no] nestloop|hashjoin|mergejoin(table_list) 参数说明 no表示hint的join方式不使用。
Scan方式的Hint 功能描述 指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。 语法格式 1 [no] tablescan|indexscan|indexonlyscan(table [index]) 参数说明 no表示hint的scan方式不使用。
group by a; 从计划可以看出,对Hash Agg进行倾斜优化后,采用了双层agg实现,大幅度过滤了进行重分布时的数据量,减少了重分布时间。 此外,需要说明的是,对于子查询,支持使用查询内部的列进行hint,如: 1 2 3 4 5 explain select
Plan Hint调优概述 Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方法,指定结果行数,指定重分布过程中的倾斜信息,指定配置参数的值等多个手段来进行执行计划的调优,以提升查询的性能。 功能描述 Plan
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
Join顺序的Hint 功能描述 指明join的顺序,包括内外表顺序。 语法格式 仅指定join顺序,不指定内外表顺序。 1 leading(join_table_list) 同时指定join顺序和内外表顺序,内外表顺序仅在最外层生效。 1 leading((join_table_list))