PostgreSQL DBA(13) - 自顶往下的方法阅读执行计划

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL DBA(13) - 自顶往下的方法阅读执行计划相关的知识,希望对你有一定的参考价值。

参考技术A

一般来说,阅读执行计划通常采用自底往上的方法,这好比从树的某片叶子出发然后再到树枝再到树干、树根这么一种方法来了解一颗树,这种方法存在的问题是如果这颗树很大,那么就可能出现“只见叶子不见树干”难以把握整体的情况。这时候可以结合自顶往下的方法进行阅读,从而在整体把握整个执行计划。

为了更好的理解和使用自顶往下的阅读方法,需要预先掌握一些基础知识.
计划节点类型

为了方便起见,在此基础上进行推广,设置规则:如控制节点/物化节点的子节点为连接节点,则视为连接节点,否则视为非连接节点.
根据这条规则,可以把所有的节点分为两类,即 连接节点 和 非连接节点 .

自顶往下的方法,顾名思义,从执行计划的最顶端/最外层进行阅读.
1.识别节点类型(非连接节点 vs 连接节点)
2.如为非连接节点,则识别该节点的具体类型(数据表扫描...),该分支结束
3.如为连接节点,则识别连接的outer端和inner端
3.1 对outer端递归应用1/2/3步骤
3.2 对inner端递归应用1/2/3步骤

下面举例说明,SQL脚本如下:

1.识别节点类型: Nested Loop -> 连接节点
3.连接节点:识别outer端,即通常所说的驱动表(这里是Nested Loop)和inner端(Index Scan).
3.1 outer端为连接节点,类型为Nested Loop
递归应用1/2/3步骤,解析该Nested Loop
3.1.1 outer端为Index Scan on t_dwxx
3.1.2 inner端为Index Scan on t_grxx
3.2 inner端,递归应用1/2/3步骤,即Index Scan on t_jfxx

采用自顶往下的方法,可以从"大局"上对执行计划上进行把握,避免一开始就进入繁杂的细节之中.

PgSQL · 最佳实践 · EXPLAIN 使用浅析
跟我一起读postgresql源码(九)

Qunar诚聘PostgreSQL/GreenPlum DBA

基本要求:
1. 本科及以上学历;
2. 3年以上PostgreSQL 或 3年以上GreenPlum DBA工作经验;
3. 踏实勤奋,有强烈的求知欲和好奇心、责任心及团队合作精神,有一定抗压能力;


PostgreSQL DBA方向:

1. 了解PostgreSQL 内部体系结构及PostgreSQL源码,熟悉C,有PostgreSQL Kernel/Extension 开发经验;
2. 可熟练使用Python进行DB日常自动化运维工具开发者优先;
3. 有PostgreSQL架构设计经验,熟悉高可用解决方案者优先;


GreenPlum DBA方向:
1. 熟悉GreenPlum 及其Extension(MADlib,PXF等)部署, 升级, 监控,日常管理,故障处理,架构调优,DB参数及OS Kernel参数调优,SQL调优;
2. 了解Hadoop(HDFS/Hbase/Hive)生态圈,可熟练书写Hive SQL,有GreenPlum PXF使用经验者优先;




核心待遇:
1. 月薪看能力, 按绩效评定14-21薪/年;
2. 优秀者(A类人才)可谈积分点/期权/股票;
3. 每年2次晋级/涨薪窗口期;
4. Qunar是高新企业,可协助申请工作居住证/北京户口;
5. 法定假日外, 10天/年 带薪病假, 10-15天/年 带薪年假,定期免费体检;
6. Qunar 技术氛围浓厚, 业界成果有目共睹, CEQ集团(携程 艺龙 去哪儿)平台无限广阔, 身边大神众多, 可助你快速提升技术能力;
7. Qunar 拥有中国互联网企业中最大规模的PostgreSQL 集群, 是使用PostgreSQL 历史最悠久的互联网公司, 在此你可遇到小公司遇不到的问题和挑战, 可获得丰富的实战经验;
8. 在此你可得到中国PostgreSQL中文文档第一版作者 && Qunar CTO 何伟平老师的指导.



有意者请将简历发至 hailong.li@qunar.com




PostgreSQL中文社区欢迎广大技术人员投稿

投稿邮箱:press@postgres.cn




以上是关于PostgreSQL DBA(13) - 自顶往下的方法阅读执行计划的主要内容,如果未能解决你的问题,请参考以下文章

自顶向下分析

DBA+数据库安全专题如何高枕无忧地使用PostgreSQL?

Qunar诚聘PostgreSQL/GreenPlum DBA

对 DBA 最重要的 PostgreSQL 10 新亮点

DBA+分享预告PostgreSQL数据库初体验

周二直播:带DBA走进PostgreSQL的世界