EXPLAIN doesnt show Datum sorts explicitly

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: EXPLAIN doesnt show Datum sorts explicitly
Date: 2007-10-05 10:58:42
Message-ID: 1191581922.4223.315.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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
Postgres.

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
2ndQuadrant http://www.2ndQuadrant.com

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2007-10-05 11:30:13 Re: default_text_search_config
Previous Message Gregory Stark 2007-10-05 10:24:04 Re: Release Notes Overview