Re: Is "DISTINCT" making a diffence in: SELECT [DISTINCT] ... EXCEPT - Mailing list pgsql-general

From Laurenz Albe
Subject Re: Is "DISTINCT" making a diffence in: SELECT [DISTINCT] ... EXCEPT
Date
Msg-id f4bd33ed0872a3b96d4cd27a2ac14b78eaa7e770.camel@cybertec.at
Whole thread Raw
In response to Is "DISTINCT" making a diffence in: SELECT [DISTINCT] ... EXCEPT  (Dimitrios Apostolou <jimis@gmx.net>)
List pgsql-general
On Wed, 2023-11-15 at 10:57 +0100, Dimitrios Apostolou wrote:
> SELECT [DISTINCT] ... EXCEPT ...
>
> In this query I get the same results regardless of including DISTINCT or
> not. But I get different query plans, I get an extra HashAggregate node
> in the case of SELECT DISTINCT. Any idea why?

The DISTINCT is superfluous, because EXCEPT already removes duplicate rows.
However, the planner does not invest extra processing cycles to detect
that you wrote a superfluous DISTINCT, and it does not remove it.
As a consequence, you end up with a pointless extra execution plan node
that does not achieve anything except slowing down the query.

Remove the DISTINCT.

Yours,
Laurenz Albe



pgsql-general by date:

Previous
From: Erik Wienhold
Date:
Subject: Re: Is "DISTINCT" making a diffence in: SELECT [DISTINCT] ... EXCEPT
Next
From: Eric Wong
Date:
Subject: db size difference on primary and standby