Re: window function docs - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: window function docs
Date
Msg-id 495A1401.9090805@enterprisedb.com
Whole thread Raw
In response to window function docs  ("Robert Haas" <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas wrote:
> Currently, use of window functions always forces sorting, ...

That's not strictly true, actually. No sort is done if the input happens 
to be sorted already, as in:

postgres=# CREATE TABLE foo (id integer PRIMARY KEY);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 
"foo_pkey" for table "foo"
CREATE TABLE
postgres=# INSERT INTO foo SELECT generate_series(1,100);
INSERT 0 100
postgres=# explain SELECT SUM(id) OVER (ORDER BY id) FROM (SELECT * FROM 
foo WHERE id < 100) AS a;                                 QUERY PLAN 

----------------------------------------------------------------------------- WindowAgg  (cost=0.00..70.25 rows=800
width=4)  ->  Index Scan using foo_pkey on foo  (cost=0.00..58.25 rows=800 
 
width=4)         Index Cond: (id < 100)
(3 rows)

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Synchronous replication, network protocol
Next
From: Heikki Linnakangas
Date:
Subject: Re: Synchronous replication, network protocol