| From: | shammat(at)gmx(dot)net |
|---|---|
| To: | pgsql-admin(at)lists(dot)postgresql(dot)org |
| Subject: | Re: fast way to run a query with 7 thousand constant values |
| Date: | 2025-03-01 19:20:59 |
| Message-ID: | af3bdbaf-3c88-48da-bf25-141cb88b8cd2@gmx.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
Am 01.03.25 um 19:23 schrieb Sbob:
> I have a client that wants to pass in as an IN clause a list of
> 7,000 values. The value set changes for each query and it ranges
> from 5,000 to 8,000 values.
>
> The planning time is too long for the requirements. (250 - 300ms)
>
> I got it to work in 50ms end to end by creating a temp table and
> doing a copy from STDIN into the temp table
>
> However this is a Java based app and getting it to do a copy is
> becoming way more complex than it should be.
>
> Anyone know of an alternate way to run a query where an id is one of
> X values where X is a list of 5 - 8 thousand values that will not
> force the planner to spend 200+ms prepping the plan?
Use "where the_column = any(?)" and pass all the values as a single parameter
of type java.sql.Array using a PreparedStatement.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Edwin UY | 2025-03-01 20:53:48 | Re: Question about pg_dump + pg_restore + pg_toast |
| Previous Message | Ron Johnson | 2025-03-01 19:18:11 | Re: fast way to run a query with 7 thousand constant values |