Re: IN or ANY for batch queries - Mailing list pgsql-jdbc

From Charles Pritchard
Subject Re: IN or ANY for batch queries
Date
Msg-id CANpQ4dzxZbm9=2LR1B2Qp0E4oZcaQY+X9u_k+y2m2-jr-qmfvw@mail.gmail.com
Whole thread Raw
In response to IN or ANY for batch queries  (Alessandro Gherardi <alessandro.gherardi@yahoo.com>)
Responses Re: IN or ANY for batch queries
List pgsql-jdbc
Go ahead an test the array length; if it's large, create a temporary table and run a batch insert.

That's been my experience in -everything- whether SQLite, PostgreSQL or HiveQL.


On Fri, May 25, 2018, 7:10 PM Alessandro Gherardi <alessandro.gherardi@yahoo.com> wrote:
Hi,
I'd like to understand if there are any benefits to using SELECT ... WHERE primary_key = ANY(large array of values) as opposed to SELECT ... WHERE primary_key IN(?,?,...) via JDBC.

I'm aware that to use ANY(array), I first have to call array = connection.createArrayOf(Java array), then preparedStatement.setArray(X, array).

I ran a few tests and the latency seems to be pretty much the same. However, since in my application the number of values in the array can vary, I'm wondering if using ANY has the benefit of causing the driver/DB to cache a smaller number of prepared statement.

Any thoughts?

Thank you in advance,
Alessandro

pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: IN or ANY for batch queries
Next
From: Craig Ringer
Date:
Subject: Re: IN or ANY for batch queries