本文共 717 字,大约阅读时间需要 2 分钟。
PostgreSQL 中除了 SPJ(SELECT、PROJECT、JOIN) 之外,还有大量的聚合和分组操作,比如下面示例中的语句,其中有聚集操作 avg(a) 和分组操作 GROUP BY b。顾名思义,聚集操作就是一个合并的过程,而分组操作则是对数据的归类。
postgres=# EXPLAIN SELECT avg(a) FROM TEST_A GROUP BY b; QUERY PLAN-------------------------------------------------------------- HashAggregate (cost=2.50..3.75 rows=100 width=36) Group Key: b -> Seq Scan on test_a (cost=0.00..2.00 rows=100 width=8)(3 rows)
简单来说,聚集操作分成 3 个步骤。
这样看起来还是蛮容易的,如果我们自己去算一个平均数,也都是这样做的。但是 avg 是函数的形态,PostgreSQL 怎
转载地址:http://xayni.baihongyu.com/