From: | Dave Cramer <pg(at)fastcrypt(dot)com> |
---|---|
To: | Christopher BROWN <brown(at)reflexe(dot)fr> |
Cc: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: Efficient use of ON CONFLICT DO UPDATE with the PostgreSQL JDBC driver |
Date: | 2017-01-13 14:20:09 |
Message-ID: | CADK3HH+VdNcfqLXh35kaKcAFWjZaiR=W2u=MELJzP6kX5SQ8ig@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On 13 January 2017 at 06:01, Christopher BROWN <brown(at)reflexe(dot)fr> wrote:
> Hello,
>
> I've at last had an opportunity to use PostgreSQL 9.6 (instead of 9.4) for
> a project, and have been able to use the ON CONFLICT DO UPDATE clause. As
> it can involve repeating parameter values (including, as is my case, large
> binary files), I'm wondering if there's any performance or resource-usage
> side effects (or workarounds) when doing something like this:
>
> INSERT INTO foo (c_uuid, file_data, file_name) VALUES (?, ?, ?)
> ON CONFLICT (c_uuid) DO UPDATE SET file_data = ?, file_name = ?
>
> On the Java side, that means invoking PreparedStatement::setBinaryStream
> TWICE for the same data.
>
> I'm not noticing side effects on localhost (but haven't profiled either).
> Is this fine, or a potential problem? Is there a better approach?
>
So to summarize you would like some sort of optimization where we figured
out that two of the values were the same in the initial insert and the on
conflict and only send it once ?
Dave Cramer
davec(at)postgresintl(dot)com
www.postgresintl.com
From | Date | Subject | |
---|---|---|---|
Next Message | Vladimir Sitnikov | 2017-01-13 14:42:18 | Re: Efficient use of ON CONFLICT DO UPDATE with the PostgreSQL JDBC driver |
Previous Message | Christopher BROWN | 2017-01-13 14:01:53 | Efficient use of ON CONFLICT DO UPDATE with the PostgreSQL JDBC driver |