<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://200yi.com/ff_internal/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://200yi.com/ff_internal/feed.php">
        <title>FAIRYFAR-INTERNAL wiki:Database:GreenPlum:执行器与优化器</title>
        <description></description>
        <link>http://200yi.com/ff_internal/</link>
        <image rdf:resource="http://200yi.com/ff_internal/lib/tpl/mnml-blog/images/favicon.ico" />
       <dc:date>2026-04-28T01:28:32+0800</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:GPDB%20explain%E4%BB%A3%E7%A0%81&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E4%BB%A3%E7%A0%81%E5%8F%98%E8%BF%81&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%87%BD%E6%95%B0gp_dist_random&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E8%81%9A%E5%90%88%E5%87%BD%E6%95%B0%E7%9A%84%E4%B8%A4%E7%A7%8D%E5%AE%9E%E7%8E%B0%EF%BC%9AHashAggregate%E4%B8%8EGroupAggregate&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E6%96%B0%E5%8A%9F%E8%83%BD%E2%80%95%E5%8F%AF%E8%A7%86%E5%8C%96%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92&amp;rev=1687008318&amp;do=diff"/>
                <rdf:li rdf:resource="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:%E5%85%A8%E9%9D%A2%E8%A7%A3%E8%AF%BBPostgreSQL%E5%92%8CGreenplum%E7%9A%84Hash%20Join&amp;rev=1687885205&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://200yi.com/ff_internal/lib/tpl/mnml-blog/images/favicon.ico">
        <title>FAIRYFAR-INTERNAL</title>
        <link>http://200yi.com/ff_internal/</link>
        <url>http://200yi.com/ff_internal/lib/tpl/mnml-blog/images/favicon.ico</url>
    </image>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:GPDB%20explain%E4%BB%A3%E7%A0%81&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:GPDB explain代码</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:GPDB%20explain%E4%BB%A3%E7%A0%81&amp;rev=1687008318&amp;do=diff</link>
        <description>执行计划打印文本格式函数，该函数只是打印其中一个树节点：


/*
 * ExplainPrintPlan -
 *	  convert a QueryDesc's plan tree to text and append it to es-&gt;str
 *
 * The caller should have set up the options fields of *es, as well as
 * initializing the output buffer es-&gt;str.  Also, output formatting state
 * such as the indent level is assumed valid.  Plan-tree-specific fields
 * in *es are initialized here.
 *
 * NB: will not work on utility statements
 */
void
ExplainPrintPlan(ExplainState *es, QueryDesc *queryDesc)…</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E4%BB%A3%E7%A0%81%E5%8F%98%E8%BF%81&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:Greenplum代码变迁</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E4%BB%A3%E7%A0%81%E5%8F%98%E8%BF%81&amp;rev=1687008318&amp;do=diff</link>
        <description>一、功能

Disk-based Hash Aggregation

19cd1cf4b68faff2e29bc2fa884c480e4644cdb4 本次提交变更很多，以Merge PG 12为主。本次提交合并了PG的Disk-based Hash Aggregation功能。

二、疑问

pg_stat_activity为何删除rsgqueueduration字段

38d88155520790b268b1a380caa9a2d9508edc66 这次提交对pg_stat_activity进行了调整。该修订在GPDB的master分支上，6.X分支没有该修订。</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:Greenplum分布式事务</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1&amp;rev=1687008318&amp;do=diff</link>
        <description>'T' 命令

'T'命令是GPDB在PostgreSQL基础上新扩展的用于分布式事务的命令。


void
PostgresMain(int argc, char *argv[],
			 const char *dbname,
			 const char *username)
{
    switch (firstchar)
    {
      case 'Q':	/* simple query */
         ……
      case 'M': /* MPP dispatched stmt from QD */
         ……
      case 'T': /* MPP dispatched dtx protocol command from QD */
         ……</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%87%BD%E6%95%B0gp_dist_random&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:Greenplum函数gp_dist_random</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E5%87%BD%E6%95%B0gp_dist_random&amp;rev=1687008318&amp;do=diff</link>
        <description>转自：https://developer.aliyun.com/article/7593

使用greenplum时，如果需要调用一个函数，这个函数很可能就在master执行，而不会跑到segment上去执行。

例如 random()函数。

通过select random()来调用的话，不需要将这条SQL发送到segment节点，所以执行计划如下，没有gather motion的过程。_____________________________</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E8%81%9A%E5%90%88%E5%87%BD%E6%95%B0%E7%9A%84%E4%B8%A4%E7%A7%8D%E5%AE%9E%E7%8E%B0%EF%BC%9AHashAggregate%E4%B8%8EGroupAggregate&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:Greenplum聚合函数的两种实现：HashAggregate与GroupAggregate</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E8%81%9A%E5%90%88%E5%87%BD%E6%95%B0%E7%9A%84%E4%B8%A4%E7%A7%8D%E5%AE%9E%E7%8E%B0%EF%BC%9AHashAggregate%E4%B8%8EGroupAggregate&amp;rev=1687008318&amp;do=diff</link>
        <description>转自：https://blog.csdn.net/scutshuxue/article/details/6791157

在Postgresql/Greenplum数据库中，聚合函数有两种实现方式：HashAggregate与GroupAggregate。

我们现在通过一个最简单的sql来分析这两种聚合的区别以及其应用场景。


select count(1) from pg_class group by oid;</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E6%96%B0%E5%8A%9F%E8%83%BD%E2%80%95%E5%8F%AF%E8%A7%86%E5%8C%96%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92&amp;rev=1687008318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-17T21:25:18+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:Greenplum新功能―可视化执行计划</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:Greenplum%E6%96%B0%E5%8A%9F%E8%83%BD%E2%80%95%E5%8F%AF%E8%A7%86%E5%8C%96%E6%89%A7%E8%A1%8C%E8%AE%A1%E5%88%92&amp;rev=1687008318&amp;do=diff</link>
        <description>转自：https://cloud.tencent.com/developer/news/332192

Greenplum Command Center 4.2中首次推出了全新的beta功能——可视化执行计划。 这一业界领先的最新功能提供了全新的查询计划的展示方式，目标是通过图形化的手段展示Query查询计划的每个步骤和执行进度，从而使得我们能够更加直观方便的了解查询执行计划的细节。 这一全新功能就位于Query详情页中的“Plan &amp; Progress”选项卡中。</description>
    </item>
    <item rdf:about="http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:%E5%85%A8%E9%9D%A2%E8%A7%A3%E8%AF%BBPostgreSQL%E5%92%8CGreenplum%E7%9A%84Hash%20Join&amp;rev=1687885205&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-06-28T01:00:05+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki:Database:GreenPlum:执行器与优化器:全面解读PostgreSQL和Greenplum的Hash Join</title>
        <link>http://200yi.com/ff_internal/wiki.php?id=wiki:Database:GreenPlum:%E6%89%A7%E8%A1%8C%E5%99%A8%E4%B8%8E%E4%BC%98%E5%8C%96%E5%99%A8:%E5%85%A8%E9%9D%A2%E8%A7%A3%E8%AF%BBPostgreSQL%E5%92%8CGreenplum%E7%9A%84Hash%20Join&amp;rev=1687885205&amp;do=diff</link>
        <description>转自：https://cn.greenplum.org/hashjoin-in-pggp/

2019年10月15日，Pivotal中国研发中心副总经理兼Greenplum中文社区发起人姚延栋出席了于意大利举行的PostgreSQL Conference Europe并发表了精彩的演讲《How does Hash Join work in PostgreSQL and its derivates》。本文根据演讲内容整理而成，供大家学习交流。</description>
    </item>
</rdf:RDF>
