检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
表5 其他算子 算子 含义 场景 Stream 多节点数据交换 执行分布式查询计划,节点间存在数据交换。 Partition Iterator 分区迭代器 分区表扫描,迭代扫描每个分区。 RowToVec 行转列 行列混合场景。
CREATE FOREIGN TABLE (GDS导入导出) 创建GDS外表。 功能描述 在当前数据库创建一个GDS外表,用于数据并行导入导出。GDS外表分为只读外表和只写外表,分别用于数据并行导入和并行导出,缺省为只读外表。 注意事项 外表由命令执行者所有; GDS外表不需要显式指定分布方式
CREATE FOREIGN TABLE (GDS导入导出) 创建GDS外表。 功能描述 在当前数据库创建一个GDS外表,用于数据并行导入导出。GDS外表分为只读外表和只写外表,分别用于数据并行导入和并行导出,缺省为只读外表。 注意事项 外表由命令执行者所有; GDS外表不需要显式指定分布方式
插入或更新数据时报错,提示分布键不能被更新 问题现象 往数据库插入或更新数据时报错,提示分布键不能被更新,错误信息如下所示: 1 ERROR: Distributed key column can't be updated in current version 原因分析 GaussDB
从上面描述可以看出统计信息是查询优化的核心输入,准确的统计信息将帮助优化器选择最合适的查询规划,一般来说通过ANALYZE语法收集整个表或者表的若干个字段的统计信息,周期性地运行ANALYZE,或者在对表的大部分内容做了更改之后马上运行它是个好习惯。
从上面描述可以看出统计信息是查询优化的核心输入,准确的统计信息将帮助优化器选择最合适的查询规划,一般来说通过ANALYZE语法收集整个表或者表的若干个字段的统计信息,周期性地运行ANALYZE,或者在对表的大部分内容做了更改之后马上运行它是个好习惯。
其它选项 enable_cluster_resize 参数说明:标识当前会话是否为扩容重分布会话。该参数应仅限用于扩容重分布会话,其他业务会话不要设置该参数。 参数类型:SUSET 取值范围:布尔型 on表示标识当前会话为扩容重分布会话,可以执行重分布专有SQL语句。 off表示标识当前会话为非扩容重分布会话
创建GIN索引 为了加速文本搜索,可以创建GIN索引。 1 CREATE INDEX pgweb_idx_1 ON tsearch.pgweb USING gin(to_tsvector('english', body)); to_tsvector()函数有两个版本,只输一个参数的版本和输两个参数的版本
默认值:on enable_stream_recursive 参数说明:控制是否将with recursive关联查询下推DN分布式执行。 参数类型:USERSET 取值范围:布尔型 on表示支持使用with recursive关联查询下推DN分布式执行。
控制分布式死锁检测功能的开启以及检测周期间隔。
依据这些规范进行建模,能够更好的契合GaussDB(DWS)的分布式处理架构,输出更高效的业务SQL代码。
CPU倾斜率 15%以下 出现计算倾斜,导致部分语句无法充分发挥分布式下的最佳性能。 建议通过异常规则、配置熔断参数等手段对倾斜语句提前熔断;日常对此类业务进行优化整改。 30% 高峰期容易出现单节点CPU过载,木桶效应导致集群整体劣化,无法充分发挥其他节点性能。
DISTRIBUTE BY 在ADB中支持分布键,DSC迁移过程中会保留对应分布键。 输入示例 1 2 3 4 5 6 7 CREATE TABLE COPY_DI_DISTRIBUTOR_BUYER_CONTRIBUTION_RANKING_V2 ( SHOP_ID VARCHAR
运行倾斜的hint 功能描述 指明查询运行时重分布过程中存在倾斜的重分布键和倾斜值,针对Join和HashAgg运算中的重分布进行优化。 注意事项 skew hint仅在需要重分布且指定的倾斜信息与查询执行过程中的重分布信息相匹配时才会被使用。 skew hint受GUC参数skew_option
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute
ALTER TABLE PARTITION 功能描述 修改表分区,包括增删分区、切割分区、合成分区,以及修改分区属性等。 注意事项 添加分区的名称不能与该分区表已有分区的名称相同。 对于范围分区表,要添加的分区的边界值要和分区表的分区键的类型一致,且要大于分区表的最后一个分区的上边界
GAUSS-00781 -- GAUSS-00790 GAUSS-00781: "cannot alter data type of distribute column" SQLSTATE: 0A000 错误原因:ALTER COLUMN TYPE操作,不能修改表的分布列的类型。
验证 在DWS新建的test数据库下,执行以下SQL语句查询表apex2_dynamic_add_remain_test的行数,如与源数据行数一致,说明数据一致。 1 SELECT COUNT(*) FROM db_user01.apex2_dynamic_add_remain_test
触发因素:分布式场景,表分布列选择不合理会导致存储倾斜,同时导致DN间压力失衡,单DN IO压力大,整体IO效率下降。 解决办法:修改表的分布列使表的存储分布均匀,分布列选择原则参见选择分布列。