Re: Query plans not identical for `id in(1,2,3)` and `(id=1 or id=2 or id=3)` - Mailing list pgsql-general

From Laurenz Albe
Subject Re: Query plans not identical for `id in(1,2,3)` and `(id=1 or id=2 or id=3)`
Date
Msg-id 6da830f74343b343b17f020b82570d2e67de8b65.camel@cybertec.at
Whole thread Raw
In response to Query plans not identical for `id in(1,2,3)` and `(id=1 or id=2 or id=3)`  (Ilya Basin <basinilya@gmail.com>)
List pgsql-general
On Sat, 2024-03-09 at 23:08 +0400, Ilya Basin wrote:
> I have a list of bigint keys and I need to retrieve rows by these keys.
> Normally, I would split this list into pages of size 900 and perform
> several `SELECT ... WHERE key in($1,$2,...)`. However, the proprietary
> ORM we use can only produce this SQL:
> `SELECT ... WHERE (key=$1 or key=$2 or ...)`.
> Surprisingly, PostgreSQL planner treats these two SQLs differently:
>
> Is it possible to configure PostgreSQL 12.16 to treat the second query as the first?

No, that is currently not possible.

Yours,
Laurenz Albe



pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: Re: Insert with Jsonb column hangs
Next
From: Thomas Kellerer
Date:
Subject: Re: Query plans not identical for `id in(1,2,3)` and `(id=1 or id=2 or id=3)`