# Greenplum进阶之SQL分布式执行计划——课程导读

为什么需要读懂执行计划?

在大数据平台上跑查询,很多人习惯把结果是否正确作为唯一标准。但真正的高手关注的是:**结果是如何产生的**。Greenplum作为MPP架构的分布式数据库,一条看似简单的SQL,在集群中会经历复杂的重分布、广播、聚合、连接等过程。如果你不了解这些底层逻辑,优化查询往往只能停留在"换个写法试试"的层面,无法做到有的放矢。

本课程聚焦分布式执行计划的核心机制,帮助你建立从SQL到执行计划再到性能优化的完整认知链条。

课程讲什么?

第一部分:表连接中的重分布与广播

分布式数据库处理表连接时,核心挑战在于**如何把参与连接的记录高效地对齐到同一节点**。这涉及到两个关键操作:

**重分布(Redistribute)**:将数据按照连接键的哈希值重新分发到各Segment,使得相同连接键的记录落在同一节点。这是内连接、左连接等场景下的主流策略。

**广播(Broadcast)**:将小表完整地复制到所有Segment,避免大表做重分布。这是优化连接性能的重要手段。

课程通过内连接、左连接、全外连接三个典型场景,逐一拆解重分布与广播的选择逻辑。你会学到:
- 不同连接类型下,优化器为何做出不同的数据移动决策
- 广播何时是优势,何时反而会成为瓶颈
- 如何通过执行计划识别连接策略是否合理

第二部分:数据扫描与聚合关联

聚合操作是分析型查询的核心。在分布式环境下,聚合被拆分为**本地预聚合**和**全局汇总**两个阶段。课程深入讲解数据扫描过程中,聚合操作如何与连接、过滤等其他算子关联执行,以及这种关联对性能的深远影响。

第三部分:统计信息与数据倾斜

执行计划的质量高度依赖统计信息的准确性。当统计信息失真或陈旧时,优化器可能做出完全错误的决策,导致重分布数据量爆炸或某个节点成为性能瓶颈。课程结合数据倾斜的实战场景,教你如何通过执行计划反推统计信息问题,并给出相应的调优方向。

学完你能收获什么?

- 读懂Greenplum执行计划中的关键节点及其含义
- 理解不同连接策略(重分布vs广播)的适用场景
- 掌握通过执行计划定位性能瓶颈的方法论
- 建立从SQL写法到执行效率的因果认知

无论你是刚接触Greenplum的开发者,还是希望深入优化查询性能的数据工程师,这门课都将为你打下坚实的分布式查询执行理论基础。建议学习时配合实际集群环境,边学边观察执行计划的变化,效果更佳。

课程目录

1-1 [Greenplum 执行计划之表连接] GPDB重分布于广播概念介绍 (12:43).mp4
 1-2 [Greenplum 执行计划之表连接] 内连接时重分布于广播原理 (20:37).mp4
 1-3 [Greenplum 执行计划之表连接] 左连接时重分布于广播原理 (12:48).mp4
 1-4 [Greenplum 执行计划之表连接] 全外连接时重分布于广播原理 (11:55).mp4
 2-1 [Greenplum 执行计划之数据扫描] 数据扫描聚合关联原理详解 (23:36).mp4
 3-1 [Greenplum 执行计划之统计信息] 统计信息与数据倾斜详解 (20:32).mp4