检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FETCH 功能描述 FETCH通过已创建的游标来检索数据。 每个游标都有一个供FETCH使用的关联位置。游标的关联位置可以在查询结果的第一行之前,或者在结果中的任意行,或者在结果的最后一行之后: 游标刚创建完之后,关联位置在第一行之前的。 在抓取了一些移动行之后,关联位置在检索到的最后一行上。
SQL调优流程 对慢SQL语句进行分析,通常包括以下步骤: 操作步骤 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。
SQL调优流程 对慢SQL语句进行分析,通常包括以下步骤: 操作步骤 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。
GaussDB(DWS)对象设计规范 DATABASE对象设计规范 USER对象设计规范 SCHEMA对象设计规范 TABLESPACE对象设计规范 TABLE对象设计规范(重点) INDEX对象设计规范(重点) VIEW对象设计规范 父主题: GaussDB(DWS)开发设计建议
如果DWS建表时没有指定分布列,数据会怎么存储? 8.1.2及以上集群版本,可通过GUC参数default_distribution_mode来查询和设置表的默认分布方式。 如果建表时没有指定分布列,数据会以下几种场景来存储: 场景一 若建表时包含主键/唯一约束,则选取HASH分布,分布列为主键/唯一约束对应的列。
Simple词典 Simple词典首先将输入标记转换为小写字母,然后检查停用词表。如果识别为停用词则返回空数组,即表示该标记会被丢弃。否则,输入标记的小写形式作为规范化后的lexeme返回。此外,Simple词典可通过设置参数Accept为false(默认值true),将非停用词报告为未识别,传递给后继词典继续处理。
Simple词典 Simple词典首先将输入标记转换为小写字母,然后检查停用词表。如果识别为停用词则返回空数组,即表示该标记会被丢弃。否则,输入标记的小写形式作为规范化后的lexeme返回。此外,Simple词典可通过设置参数Accept为false(默认值true),将非停用词报告为未识别,传递给后继词典继续处理。
Drive方式的Hint 功能描述 优化器在进行查询计划生成时,会使用动态规划或遗传基因算法枚举可能的Join路径,并在其中选择最优的路径,当连接表的数目增大时,会导致搜索空间的过度膨胀。对于此类情况,可以通过Drive Hint指定查询中的事实表,使用启发式搜索的方式减少路径搜
Drive方式的Hint 功能描述 优化器在进行查询计划生成时,会使用动态规划或遗传基因算法枚举可能的Join路径,并在其中选择最优的路径,当连接表的数目增大时,会导致搜索空间的过度膨胀。对于此类情况,可以通过Drive Hint指定查询中的事实表,使用启发式搜索的方式减少路径搜
SQL调优 SQL查询执行流程 SQL执行计划 执行计划算子 SQL调优流程 更新统计信息 审视和修改表定义 SQL调优进阶 优化器参数调整 使用Plan Hint进行调优 例行维护表 例行重建索引 SQL语句出错自动重试 query_band负载识别 父主题: GaussDB(DWS)性能调优
选择多条所需查询。 单击。 这些查询会添加到“SQL终端”页签中光标所在位置。 如果作业出错时仍继续执行,则终端中的每条语句将作为定时任务依次运行。系统会在控制台上更新执行状态,在进度条中显示作业。当作业执行、进度条更新和控制台更新之间的时间差变得非常细微,则用户无法打开进度条去停止作业执
导出所有数据库 GaussDB(DWS)支持使用gs_dumpall工具导出所有数据库的全量信息,包含集群中每个数据库信息和公共的全局对象信息。可根据需要自定义导出如下信息: 导出所有数据库全量信息,包含集群中每个数据库信息和公共的全局对象信息(包含角色和表空间信息)。 使用导出
GAUSS-04581 -- GAUSS-04590 GAUSS-04581: "Codegen failed on the procedure of ExecVecQual!" SQLSTATE: XX000 错误原因:在生成总体IR函数时,若有一个表达式未正确处理,则使用codegen功能失败。
无权限角色导出数据 gs_dump和gs_dumpall通过-U指定执行导出的用户账户。如果当前使用的账户不具备导出所要求的权限时,会无法导出数据。此时,可在导出命令中设置--role参数来指定具备权限的角色。在执行命令后,gs_dump和gs_dumpall会使用--role参数指定的角色,完成导出动作。
行数估算过小,优化器选择走NestLoop导致性能下降 问题现象 查询语句执行慢,卡住无法返回结果。SQL语句的特点是2~3张表left join,然后通过SELECT查询结果,执行计划如下: 原因分析 优化器在选择执行计划时,对结果集评估较小,导致执行计划走了NestLoop,性能下降。
SQL调优流程 对慢SQL语句进行分析,通常包括以下步骤: 操作步骤 收集SQL中涉及到的所有表的统计信息。在数据库中,统计信息是规划器生成计划的源数据。没有收集统计信息或者统计信息陈旧会造成执行计划严重劣化,从而导致性能问题。从经验数据来看,10%左右性能问题是因为没有收集统计信息。具体请参见更新统计信息。
全局临时表 全局临时表迁移为本地临时表。 输入:GLOBAL TEMPORARY TABLE CREATE GLOBAL TEMPORARY TABLE "Pack1"."GLOBAL_TEMP_TABLE" ( "ID" VARCHAR2(8)
执行Plan Hint的Scan方式不生效 问题现象 DWS中指定了Plan Hint的scan方式,但是并未生效。 原因分析 Plan Hint语法使用错误。Plan Hint的Scan语法应在SELECT语句中增加“/*+ indexscan(table_name index_name)
导入导出 导入数据到DWS最佳实践 从GDS导入数据到DWS实践指南 导入OBS桶数据到GaussDB(DWS)集群及从GaussDB(DWS)导出数据到OBS桶 使用GDS从远端服务器上导入表数据到GaussDB(DWS)集群 从MRS Hive导入表数据到GaussDB(DWS)集群
SQL调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:增加JOIN列非空条件 案例:使排序下推 案例:设置cost_param对查询性能优化 案例:调整局部聚簇键 案例:调整中间表存储方式 案例:改建分区表 案例:调整GUC参数best_agg_plan 案例:改写SQL排除剪枝干扰