检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优化器参数调整 本节将介绍影响GaussDB(DWS) SQL调优性能的关键CN配置参数,配置方法参见设置GUC参数。 表1 CN配置参数 参数/参考值 描述 enable_nestloop=on 控制查询优化器对嵌套循环连接(Nest Loop Join)类型的使用。当设置为“on
创建发布命令 功能 create-publication命令用于创建细粒度容灾发布。 命令格式 python3 $GPHOME/script/DisasterFineGrained.py -t create-publication --disaster-object-list-file
GAUSS-02341 -- GAUSS-02350 GAUSS-02345: "SubPlan found with no parent plan" SQLSTATE: 42P27 错误原因:AlternativeSubPlan表达式无父节点PlanState为空。 解决办法:检查
调用栈记录函数 GaussDB(DWS)通过pv_memory_profiling(type int)和环境变量MALLOC_CONF,控制gaussdb进程中malloc等内存分配调用栈记录模块开启关闭、以及进程级内存调用栈输出等,使用流程如下图所示: MALLOC_CONF 环境变量
导出ORC数据概述 GaussDB(DWS)数据库支持通过HDFS外表导出ORC格式数据至MRS,通过外表设置的导出模式、导出数据格式等信息来指定导出的数据文件,利用多DN并行的方式,将数据从GaussDB(DWS)数据库导出到外部,存放在HDFS文件系统上,从而提高整体导出性能。
PLAN_TABLE PLAN_TABLE视图显示用户通过执行EXPLAIN PLAN收集到的计划信息。计划信息的生命周期是session级别,session退出后相应的数据将被清除。同时不同session和不同user间的数据是相互隔离的。 表1 PLAN_TABLE字段 名称
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname ([@block_name] table) 注意事项 block_name hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升和包含
PLAN_TABLE PLAN_TABLE视图显示用户通过执行EXPLAIN PLAN收集到的计划信息。计划信息的生命周期是session级别,session退出后相应的数据将被清除。同时不同session和不同user间的数据是相互隔离的。 表1 PLAN_TABLE字段 名称
GS_BLOCKLIST_SQL GS_BLOCKLIST_SQL系统表存储作业黑名单信息和异常信息,该表以sql_hash作为唯一索引,进行作业异常信息统计和黑名单记录,可通过与GS_WLM_SESSION_INFO进行关联获取作业的query字段和执行信息。 GaussDB(DWS
GS_BLOCKLIST_QUERY GS_BLOCKLIST_QUERY系统表存储作业黑名单信息和异常信息,该表以unique_sql_id作为唯一索引,进行作业异常信息统计和黑名单记录,可通过与GS_WLM_SESSION_INFO进行关联获取作业的query字段和执行信息。
业务语法转换迁移 假设Oracle有原业务SQL如下,将其保存成query.sql格式文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -- HAVING子句必须出现在GROUP BY子句后面,而Oracle允许HAVING在GROUP BY
DELETE 功能描述 从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在,将删除表中所有行,结果只保留表结构。 注意事项 要删除表中的数据,用户必须对它有DELETE权限。同样也必须有USING子句引用的表以及condition上读取的表的SELECT权限。 对于复制表
调用栈记录函数 GaussDB(DWS)通过pv_memory_profiling(type int)和环境变量MALLOC_CONF,控制malloc等内存分配调用栈记录模块开启关闭、以及内存调用栈输出等,使用流程如下图所示: MALLOC_CONF 环境变量MALLOC_CONF
Scan方式的Hint 功能描述 指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。 语法格式 1 [no] tablescan|indexscan|indexonlyscan([@block_name] table [index])
SELECT操作规范 规则3.7 禁止执行不下推的SQL GaussDB(DWS)为分布式架构,SQL语句必须下推才能分利用分布式的计算资源,达到性能最优。 违反规范的影响: 不下推的SQL执行性能差,严重情况会导致CN资源瓶颈,影响整体业务。 方案建议: 不使用不下推的语法和不下推的函数
函数和表达式 概述 由于MySQL中的函数与表达式,在GaussDB(DWS)中不存在或者存在一定的差异,DSC工具会根据GaussDB(DWS)的支持情况做相应迁移。(兼容ADB for MySQL的语法支持) 类型对照 表1 类型对照表 MySQL/ADB函数类型 描述 MySQL
SELECT操作规范 规则3.7 禁止执行不下推的SQL GaussDB(DWS)为分布式架构,SQL语句必须下推才能分利用分布式的计算资源,达到性能最优。 违反规范的影响: 不下推的SQL执行性能差,严重情况会导致CN资源瓶颈,影响整体业务。 方案建议: 不使用不下推的语法和不下推的函数
GAUSS-01951 -- GAUSS-01960 GAUSS-01951: "could not find tuple for partition %u" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01952
GAUSS-02271 -- GAUSS-02280 GAUSS-02271: "could not determine actual type of argument declared %s" SQLSTATE: 42804 错误原因:无法确定参数的真实数据类型。 解决办法:请检查函数定义
8.3.0.x补丁新增功能及解决问题 8.3.0.110 表1 8.3.0.110新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 新安装集群默认打开全局死锁检测功能,之前版本默认没有打开。 - - - 解决问题 当一个常用表达式(Common