检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
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
步骤2:测试初始表结构下的系统性能并建立基线 在优化表结构前后,请测试和记录以下详细信息以对比系统性能差异: 数据加载时间。 表占用的存储空间大小。 查询性能。 本次实践中的示例基于使用8节点的dws.d2.xlarge集群。因为系统性能受到许多因素的影响,即使您使用相同的集群配置,结果也会有所不同。
行数的Hint 功能描述 指明中间结果集的大小,支持绝对值和相对值的hint。 语法格式 1 rows(table_list #|+|-|* const) 参数说明 #,+,-,*,进行行数估算hint的四种操作符号。#表示直接使用后面的行数进行hint。+,-,*表示对原来估
案例:调整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_STAT_REPLICATION PGXC_STAT_REPLICATION视图显示集群中各节点上日志同步的状态信息,除新增node_name(节点名称)字段外,其余字段内容和PG_STAT_REPLICATION视图相同。需要有系统管理员权限才可以访问此视图。 表1
PGXC_RESPOOL_RESOURCE_INFO PGXC_RESPOOL_RESOURCE_INFO视图显示所有实例上资源池实时监控信息。 DN上仅显示当前DN所属逻辑集群的资源池监控信息。 从8.2.0集群版本开始,新增了内存负反馈机制功能,CCN节点会根据DN节点的实际
行数的Hint 功能描述 指明中间结果集的大小,支持绝对值和相对值的hint。 语法格式 1 rows([@block_name] table_list #|+|-|* const) 参数说明 block_name表示语句块的block_name,详细说明请参考block_name。
postgresql”替换为“com.huawei.gauss200.jdbc”),数据库连接的URL前缀为“jdbc:gaussdb”,其余与gsjdbc4.jar相同。 驱动类 在创建数据库连接之前,需要加载数据库驱动类“org.postgresql.Driver”(对应包gsjdbc4
通常优化器会根据统计信息选择一组不倾斜的分布键进行数据重分布。当默认选择的分布键有倾斜时,可以手动指定重分布的列,避免数据倾斜。 在选择分布键的时候,通常要根据数据分布特征选取一组distinct值比较高的列作为分布列,这样可以保证重分布后,数据均匀的分布到各个DN。 在编写好hint后,可以通过explain
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname ([@block_name] table) 注意事项 block_name hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升
性能视图快照系统表 设置enable_wdr_snapshot为on后,后台快照线程会创建并维护以“SNAP_+视图名称”方式命名的系统表,用于记录各性能视图的快照结果。需要有系统管理员权限才可以访问下列系统表。 SNAP_PGXC_OS_RUN_INFO SNAP_PGXC_WAIT_EVENTS
性能视图快照系统表 设置enable_wdr_snapshot为on后,后台快照线程会创建并维护以“SNAP_+视图名称”方式命名的系统表,用于记录各性能视图的快照结果。需要有系统管理员权限才可以访问下列系统表。 SNAP_PGXC_OS_RUN_INFO SNAP_PGXC_WAIT_EVENTS
指定子查询不提升的hint 功能描述 优化器在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层以避免嵌套执行,但对于某些场景,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no merge hint指定子查询不提升
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、E
中第9层redistribute并没有数据倾斜,hashjoin慢的原因是由于第18层redistribute后数据倾斜导致。 经过实际数据查证,customer_address的两个join列的不同值数目较少,使用其进行join容易出现数据倾斜,故把customer_addre
案例:设置cost_param对查询性能优化 cost_param参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。 场景一:优化前 cost_param的bit0(set