Re: cost of CREATE VIEW ... AS SELECT DISTINCT

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: T E Schmitz <mailreg(at)numerixtechnology(dot)de>
Cc: Bruno Wolff III <bruno(at)wolff(dot)to>, Scott Marlowe <smarlowe(at)g2switchworks(dot)com>, pgsql-sql(at)postgresql(dot)org
Subject: Re: cost of CREATE VIEW ... AS SELECT DISTINCT
Date: 2005-03-29 13:58:23
Message-ID: 20050329135823.GA23852@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Tue, Mar 29, 2005 at 02:21:15PM +0100, T E Schmitz wrote:
> Bruno Wolff III wrote:
> >On Tue, Mar 29, 2005 at 11:07:20 +0100,
> > T E Schmitz <mailreg(at)numerixtechnology(dot)de> wrote:
> >
> >>Would the "SELECT DISTINCT origin" always cause a sequential table
> >>scan regardless whether there is an index on the origin column or
> >>not?
> >
> >It's worse than that, SELECT DISTINCT cannot use a hash aggregate
> >plan and will need to do a sort to eliminate duplicates. Unless the
> >view is used in a way that restricts the candidate rows, this
> >probably isn't going to be very fast. You might be better off
> >changing the view to use GROUP BY instead of DISTINCT.
>
> As far as I can see (via EXPLAIN), both DISTINCT and GROUP BY will
> lead to a sequentail scan. Is that correct?

That (GROUP BY using a seqscan) may be caused by the small size of the
table. Try populating it some more.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"¿Qué importan los años? Lo que realmente importa es comprobar que
a fin de cuentas la mejor edad de la vida es estar vivo" (Mafalda)

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message T E Schmitz 2005-03-29 14:12:24 Re: cost of CREATE VIEW ... AS SELECT DISTINCT
Previous Message Bruno Wolff III 2005-03-29 13:29:41 Re: cost of CREATE VIEW ... AS SELECT DISTINCT