On Fri, Jun 19, 2020 at 02:02:29PM +1200, David Rowley wrote:
> On Fri, 19 Jun 2020 at 01:45, Justin Pryzby <pry...@telsasoft.com> wrote:
> > Note that "incremental sort" is also new, and splits things up more than 
> > sort.
> >
> > See in particular 6a918c3ac8a6b1d8b53cead6fcb7cbd84eee5750, which splits 
> > things
> > up even more.
> >
> >     ->  Incremental Sort (actual rows=70 loops=1)
> >           Sort Key: t.a, t.b
> >           Presorted Key: t.a
> > -         Full-sort Groups: 1 Sort Method: quicksort Memory: avg=NNkB 
> > peak=NNkB Presorted Groups: 5 Sort Methods: top-N heapsort, quicksort 
> > Memory: avg=NNkB peak=NNkB
> > +         Full-sort Groups: 1  Sort Method: quicksort  Average Memory: NNkB 
> >  Peak Memory: NNkB
> > +         Pre-sorted Groups: 5  Sort Methods: top-N heapsort, quicksort  
> > Average Memory: NNkB  Peak Memory: NNkB
> >
> > That's not really a "precedent" and I don't think that necessarily 
> > invalidates
> > your change.
> 
> I imagine you moved "Per-sorted Groups" to a new line due to the lines
> becoming too long? Or was there something else special about that
> property to warrant putting it on a new line?

https://www.postgresql.org/message-id/20200419023625.gp26...@telsasoft.com
|I still think Pre-sorted groups should be on a separate line, as in 0002.
|In addition to looking better (to me), and being easier to read, another reason
|is that there are essentially key=>values here, but the keys are repeated (Sort
|Method, etc).

> postgres=# explain analyze select a,sum(b) from ab group by a;
>  HashAggregate  (cost=175425.12..194985.79 rows=988 width=12) (actual 
> time=1551.920..5281.670 rows=1000 loops=1)
>    Group Key: a
>    Peak Memory Usage: 97 kB Disk Usage: 139760 kB HashAgg Batches: 832

Please be sure to use two spaces between each field !

See earlier discussions (and commits referenced by the Opened Items page).
https://www.postgresql.org/message-id/20200402054120.gc14...@telsasoft.com
https://www.postgresql.org/message-id/20200407042521.GH2228%40telsasoft.com

+                       appendStringInfoChar(es->str, ' ');
+
+               appendStringInfo(es->str, "Peak Memory Usage: " INT64_FORMAT " 
kB", memPeakKb);
+
+               if (aggstate->hash_batches_used > 0)
+                       appendStringInfo(es->str, " Disk Usage: " UINT64_FORMAT 
" kB HashAgg Batches: %d",

-- 
Justin


Reply via email to