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)
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 |