检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实际调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:调整分布键 案例:调整GUC参数best_agg_plan 案例:改写SQL消除子查询 案例:改写SQL排除剪枝干扰 案例:改写SQL消除in-clause 案例:调整查询重写GUC参数rewrite_rule 案例:使用DN
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 子查询调优 统计信息调优 算子级调优 父主题: SQL调优指南
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 语句下推调优 子查询调优 统计信息调优 算子级调优 父主题: SQL调优指南
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 子查询调优 统计信息调优 算子级调优 父主题: SQL调优指南
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 子查询调优 统计信息调优 算子级调优 长查询和长事务调优 父主题: SQL调优指南
支持和约束 支持场景 单表查询语句 多个单表查询的UNION ALL 在物化视图上创建索引 对物化视图做Analyze操作 增量物化视图会继承基表NodeGroup创建(检查各个基表是否在同一个NodeGroup,并基于这个NodeGroup进行创建)。 不支持场景 物化视图中不
session级事务下推及相关参数 session_type 参数说明:指定当前会话的类型,大小写不敏感,根据用户实际取值生成执行计划。 参数类型:枚举类型 参数单位:无 取值范围: single_node:单节点会话,读写操作支持下推,根据GUC参数exec_target_node判断下推节点并生成执行计划。
典型SQL调优点 SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。 SQL自诊断 语句下推调优 子查询调优 统计信息调优 算子级调优 数据倾斜调优 长查询和长事务调优
实际调优案例 案例:选择合适的分布列 案例:建立合适的索引 案例:调整分布键 案例:调整GUC参数best_agg_plan 案例:改写SQL消除子查询 案例:改写SQL排除剪枝干扰 案例:改写SQL消除in-clause 案例:调整查询重写GUC参数rewrite_rule 案
使用Plan Hint进行调优 Plan Hint调优概述 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint 运行倾斜的hint 参数化路径的Hint Hint的错误、冲突及告警 Plan Hint实际调优案例
案例:建立合适的索引 现象描述 查询与销售部所有员工的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 --建表 CREATE TABLE staffs (staff_id NUMBER(6)
GLOBAL_PLANCACHE_STATUS GLOBAL_PLANCACHE_STATUS视图显示GPC全局计划缓存状态信息。 表1 GLOBAL_PLANCACHE_STATUS字段 名称 类型 描述 nodename text 所属节点名称。 query text 查询语句text。
PGobject 表1 PGobject常用方法 方法名 返回值类型 描述 throws 支持JDBC4 支持计划外ALT getStruct() Object[] 获取复合类型子类型名,按创建顺序排序。 - Yes Yes getValue() String 获取复合类型字符串形式值。
使用Plan Hint进行调优 Plan Hint调优概述 指定Hint所处的查询块Queryblock Hint可以指定表的查询块名和schema名 Join顺序的Hint Join方式的Hint 行数的Hint Stream方式的Hint Scan方式的Hint 子链接块名的hint
案例:建立合适的索引 现象描述 查询与销售部所有员工的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 --建表 CREATE TABLE staffs (staff_id NUMBER(6)
案例:建立合适的索引 现象描述 查询与销售部所有员工的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 --建表 CREATE TABLE staffs (staff_id NUMBER(6)
更新统计信息 在数据库中,统计信息是优化器生成计划的源数据。没有收集统计信息或者统计信息陈旧往往会造成执行计划严重劣化,从而导致性能问题。 背景信息 ANALYZE语句可收集与数据库中表内容相关的统计信息,统计结果存储在系统表PG_STATISTIC中。查询优化器会使用这些统计数
支持和约束 支持场景 单表查询语句 多个单表查询的UNION ALL 在物化视图上创建索引 对物化视图做Analyze操作 增量物化视图会继承基表NodeGroup创建(检查各个基表是否在同一个NodeGroup,并基于这个NodeGroup进行创建)。 不支持场景 物化视图中不
SQLPrepare 功能描述 准备一个将要进行的SQL语句。 需要注意的是,ODBC发送准备好的语句不支持内核复用计划,这会导致每次执行都需要重新生成计划,导致CPU占用率高。如果业务对计划复用有需求建议优先使用JDBC作为客户端。 原型 1 2 3 SQLRETURN SQLPrepare(SQLHSTMT
SQLPrepare 功能描述 准备一个将要进行的SQL语句。 需要注意的是,ODBC发送准备好的语句不支持内核复用计划,会导致每次执行都需要重新生成计划,导致CPU占用率高。如果业务对计划复用有需求,建议优先使用JDBC作为客户端。 原型 1 2 3 SQLRETURN SQLPrepare(SQLHSTMT