Something to add to the TODO:

EXPLAIN doesn't show Datum sorts explicitly that occur because of
DISTINCT aggregates in the SELECT clause.

EXPLAIN looks like this

postgres=# explain select count(distinct col3) from blah3;
                            QUERY PLAN                             
 Aggregate  (cost=5221.00..5221.01 rows=1 width=4)
   ->  Seq Scan on blah3  (cost=0.00..4471.00 rows=300000 width=4)
(2 rows)

though trace_sort demonstrates sort(s) are taking place.

This can also be seen in the start up cost and total cost of the
Aggregate node, but the unwary might not notice the sorts taking place
when viewing the EXPLAIN.

It might also account for some people thinking SeqScans are slow on

Perhaps we can add a "distinct sorts=N" line to that node?

This would need reconsidering anyway for when/if we have hashed distinct
processing, since there's currently nowhere to hang the differing
explain output that would generate. 

  Simon Riggs

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to