[planner] Ignore "order by" in subselect if parrent do count(*)

From: Marcin Mirosław <marcin(at)mejor(dot)pl>
To: pgsql-performance(at)postgresql(dot)org
Subject: [planner] Ignore "order by" in subselect if parrent do count(*)
Date: 2012-03-01 11:45:28
Message-ID: 4F4F6158.7060200@mejor.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hello,
my example query (and explain) is:
$ explain SELECT count(*) from (select * from users_profile order by id)
u_p;
QUERY PLAN
---------------------------------------------------------------------------
Aggregate (cost=1.06..1.07 rows=1 width=0)
-> Sort (cost=1.03..1.03 rows=2 width=572)
Sort Key: users_profile.id
-> Seq Scan on users_profile (cost=0.00..1.02 rows=2 width=572)
(4 rows)

Meseems "order by id" can be ignored by planner. It should speed up
query without side effect. I know the query should be fixed but this is
real and simplified query from real application.
Does postgresql team think ppostgres should be smarter than user and fix
user queries? If answer is positive please treat this as "feature request".
Thank you and regards,
Marcin.

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Szymon Guz 2012-03-01 11:50:08 Re: [planner] Ignore "order by" in subselect if parrent do count(*)
Previous Message Marc Mamin 2012-02-29 20:40:22 Re: text search: tablescan cost for a tsvector