Re: query produces 1 GB temp file - Mailing list pgsql-performance

From Tom Lane
Subject Re: query produces 1 GB temp file
Date
Msg-id 4859.1107710214@sss.pgh.pa.us
Whole thread Raw
In response to query produces 1 GB temp file  (Dirk Lutzebaeck <lutzeb@aeccom.com>)
Responses Re: query produces 1 GB temp file  (Dirk.Lutzebaeck@t-online.de (Dirk Lutzebaeck))
List pgsql-performance
Dirk.Lutzebaeck@t-online.de (Dirk Lutzebaeck) writes:
> SELECT DISTINCT ON (df.val_9, df.created, df.flatid) df.docindex,
> df.flatobj, bi.oid, bi.en
> FROM bi,df
> WHERE bi.rc=130170467
> ...
> ORDER BY df.val_9 ASC, df.created DESC
> LIMIT 1000 OFFSET 0

Just out of curiosity, what is this query supposed to *do* exactly?
It looks to me like it will give indeterminate results.  Practical
uses of DISTINCT ON generally specify more ORDER BY columns than
there are DISTINCT ON columns, because the extra columns determine
which rows have priority to survive the DISTINCT filter.  With the
above query, you have absolutely no idea which row will be output
for a given combination of val_9/created/flatid.

            regards, tom lane

pgsql-performance by date:

Previous
From: Steven Rosenstein
Date:
Subject: Are JOINs allowed with DELETE FROM
Next
From: Gaetano Mendola
Date:
Subject: Re: Are JOINs allowed with DELETE FROM