Re: Plan for update ... where a is not distinct from b

From: "Peter J(dot) Holzer" <hjp(at)hjp(dot)at>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Plan for update ... where a is not distinct from b
Date: 2017-11-28 20:56:47
Message-ID: 20171128205647.4bnsuxn4n4c6kn2p@hjp.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2017-11-28 09:35:33 -0500, Tom Lane wrote:
> "Peter J. Holzer" <hjp-pgsql(at)hjp(dot)at> writes:
> > I noticed that an update was taking a long time and found this:
> > [ crappy plan for join on IS NOT DISTINCT ]
>
> Yeah, there's no optimization smarts at all for IS [NOT] DISTINCT.
> It can't be converted into a merge qual, nor a hash qual, nor an
> indexscan qual.

Pity. I expected IS NOT DISTINCT to be treated pretty much like =, given
that it is just a more naive equality test. In particular, since
PostgreSQL stores NULL values in indexes (unlike Oracle) I expected it
to be able to use an index scan.

> In principle this could be improved, but given how much work it'd be
> and how seldom anyone complains, it's not likely to happen anytime soon.

Yeah, IS [NOT] DISTINCT is pretty obscure. I guess not many people use
it.

hp

--
_ | Peter J. Holzer | we build much bigger, better disasters now
|_|_) | | because we have much more sophisticated
| | | hjp(at)hjp(dot)at | management tools.
__/ | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Peter J. Holzer 2017-11-28 21:14:53 Re: Plan for update ... where a is not distinct from b
Previous Message Steve Atkins 2017-11-28 20:18:43 Re: Where to troubleshoot phpPgAdmin login issues?