Re: [planner] Ignore "order by" in subselect if parrent do count(*) - Mailing list pgsql-performance

From Szymon Guz
Subject Re: [planner] Ignore "order by" in subselect if parrent do count(*)
Date
Msg-id CAFjNrYvECD+kDVfo76s8zHsfb0E0G7CkGH2boyHT7rgpkFBS7Q@mail.gmail.com
Whole thread Raw
In response to [planner] Ignore "order by" in subselect if parrent do count(*)  (Marcin Mirosław <marcin@mejor.pl>)
Responses Re: [planner] Ignore "order by" in subselect if parrent do count(*)
List pgsql-performance


On 1 March 2012 12:45, Marcin Mirosław <marcin@mejor.pl> wrote:
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.


If you have only 2 rows in the table, then the plan really doesn't matter too much. Sorting two rows would be really fast :)

Try to check it with 10k rows.

regards
Szymon

pgsql-performance by date:

Previous
From: Marcin Mirosław
Date:
Subject: [planner] Ignore "order by" in subselect if parrent do count(*)
Next
From: Marcin Mirosław
Date:
Subject: Re: [planner] Ignore "order by" in subselect if parrent do count(*)