好文档 - 专业文书写作范文服务资料分享网站

GaussDB 200 性能调优

天下 分享 时间: 加入收藏 我要投稿 点赞

性能调优培训

2020年

文档名称

目录

1

优化基础概念 ......................................................................................................................... 3 1.1

query执行流程 ............................................................................................................... 3 优化手段之统计信息 .................................................................................................... 4 优化手段之底层存储 .................................................................................................... 4 优化手段之guc参数 ..................................................................................................... 5 优化手段之SQL重写 ................................................................................................... 5 1.2

执行计划解读 ................................................................................................................. 5 执行计划概述 ................................................................................................................ 5 执行计划解读 ................................................................................................................ 6 执行信息解读 ................................................................................................................ 8

2

调优概述 ............................................................................................................................... 11 2.1 2.2 2.3

SQL调优基本原则 ....................................................................................................... 11 调优流程 ....................................................................................................................... 11 资源监控 ....................................................................................................................... 12 top命令 ........................................................................................................................ 12 iostat命令 ..................................................................................................................... 16

3

静态调优 ............................................................................................................................... 17 3.1

集群配置 ....................................................................................................................... 17 安装配置 ...................................................................................................................... 17 参数配置 ...................................................................................................................... 18 3.2

表定义 ........................................................................................................................... 18 表定义流程 .................................................................................................................. 18

2020-4-30

第1页, 共42页

文档名称

行/列存表 ..................................................................................................................... 19 复制/哈希表 ................................................................................................................. 20 分布列 .......................................................................................................................... 20 局部聚簇 ...................................................................................................................... 21 分区表 .......................................................................................................................... 22 数据类型 ...................................................................................................................... 22

4

执行态调优 ........................................................................................................................... 23 4.1 4.2

执行态调优流程 ........................................................................................................... 23 性能瓶颈分析 ............................................................................................................... 24 统计信息分析 .............................................................................................................. 24 Performance分析 ......................................................................................................... 24 4.3

常见性能瓶颈 ............................................................................................................... 28 SQL语句不能下推 ...................................................................................................... 28 计算偏斜 ...................................................................................................................... 32 Scan性能 ...................................................................................................................... 32 HashAgg性能 .............................................................................................................. 34 4.4

Query Rewrite ............................................................................................................... 37 消除subquery和 sublink* ........................................................................................... 37 排除pruning干扰* ...................................................................................................... 38 消除in-clause ............................................................................................................... 40

2020-4-30

第2页, 共42页

文档名称 文档密级

1 说明

带*号内容为高阶内容,需要有深厚的SQL基础,供学有余力的同学深入了解,其余内容所有学员必须掌握。

2 优化基础概念

2.1 query执行流程

SQL引擎从接受SQL语句到执行SQL语句需要经历以下几个步骤: 1) 词法&语法解析

按照约定的SQL语句规则,把输入的SQL语句从字符串转化为格式化结构(Stmt) 2) 语义解析

把第二步输出的格式化结构转化为数据库可以识别的对象 3) 查询重写

根据规则把第二步的输出等价转化为执行上更为优化的结构 4) 生成执行计划

根据第三部的输出和数据库内部的统计信息规划SQL语句具体的执行方式 5) 查询执行

根据上一步规划的执行路径执行SQL查询语句

2020-4-30

第3页, 共42页

文档名称

Query 词法&语法解析 红色部分为可以 实施调优的环节 语义解析 统计信息 查询重写 guc参数 查询优化 底层存储 查询执行 输出结果 优化手段之统计信息

GaussDB 200优化器是典型的基于代价的优化 (Cost-Based Optimization,简称CBO)。在这种优化器模型下,数据库根据表的元组数、字段宽度、NULL记录比率、distinct值、MCV值(Most Comman Value)、HB值(HB-直方图,数据分布概率区间)等表的特征值,以及一定的代价计算模型,计算出每一个执行步骤的不同执行方式的输出元组数和执行代价(cost),进而选出整体执行代价最小/首元组返回代价最小的执行方式进行执行。这些特征值就是统计信息。从上面描述可以看出统计信息是查询优化的核心输入,准确的统计信息将帮助规划器选择最合适的查询规划,一般来说我们通过analyze语法收集整个表或者表的若干个字段的统计信息,周期性地运行ANALYZE,或者在对表的大部分内容做了更改之后 马上运行它是个好习惯。

优化手段之底层存储

GaussDB 200的表支持行存表、列存表和HDFS表,底层存储方式的选择严格依赖于客户的具体业务场景。一般来说计算型业务查询场景(以关联、聚合操作为主)建议使用列存表;点查询、大批量UPDATE/DELETE业务场景适合行存表;如果要把数据放到HDFS分布式集群文件系统

2020-4-30

华为保密信息,未经授权禁止扩散

第4页, 共42页

GaussDB 200 性能调优

性能调优培训2020年文档名称目录1优化基础概念......................................
推荐度:
点击下载文档文档为doc格式
3yqpf5skrd1cf865breu5a66i6tmib010ua
领取福利

微信扫码领取福利

微信扫码分享