From: | Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com> |
---|---|
To: | List <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | executebatch: |
Date: | 2015-10-02 13:29:16 |
Message-ID: | CAB=Je-GagyN1DH0UG=u62RHCzQ4ghxTVh4FVoBmkNAOeRc+=+g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hi,
I'm observing a performance degradation in executeBatch case when
upgrading 9.3-1102.jdbc41 -> 9.4-1203.
1102 -- 0.78 sec / executeBatch
1203 -- 1.8 sec / executeBatch
It looks like the degradation is caused by the fact that two "flag"
constants share the same value:
QUERY_FORCE_DESCRIBE_PORTAL = 128; and QUERY_DISALLOW_BATCHING = 128;
https://github.com/pgjdbc/pgjdbc/commit/a6bd36faaedc779f932fa76f52bab9550f0fcd6d#diff-54e833c3fd25410b800ff28a1e189227R97
https://github.com/pgjdbc/pgjdbc/commit/a6bd36faaedc779f932fa76f52bab9550f0fcd6d#diff-54e833c3fd25410b800ff28a1e189227R106
Profiling shows that 1203 does QueryExecutorImpl.flushIfDeadlockRisk
-> sendSync a lot.
I wonder if reusing 128 was intentional or not.
I'll try modifying QUERY_FORCE_DESCRIBE_PORTAL=512 to see if that helps.
--
Regards,
Vladimir Sitnikov
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Smith | 2015-10-03 23:47:44 | latest jdbc release |
Previous Message | Thomas Kellerer | 2015-10-01 12:51:28 | Re: DatabaseMetaData.getTypeInfo() - returns all tables as well |