Re: JDBC Meta-data performance for Foreign Keys

From: Mark Rotteveel <mark(at)lawinegevaar(dot)nl>
To: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: Re: JDBC Meta-data performance for Foreign Keys
Date: 2021-10-02 08:57:10
Message-ID: 1e1a4b20-8d85-857b-0b08-0d19b97b0121@lawinegevaar.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 02-10-2021 08:29, ldh(at)laurent-hasson(dot)com wrote:
> Lots of code refactoring on our end, but it was worth it as the results are quite good with a ~70% improvement!
>
> The only gotcha is what I tried to also optimize the calls for indices, I was surprised that the jdbc method DatabaseMetaData.getIndexInfo() doesn't take a table pattern like other "getXXXInfo" methods. For now we have decent performance, so dropping to a custom query to optimize indices is something we can do later.
>
>
> pre-optimization
> ==========================================
> [..]
> Views: 362 in 22.00ms or 0.1%
> ------------------------------------------
> Total: 19,667.00ms
>
>
> post-optimization
> ==========================================
> [..]
> Views: 362 in 113.00ms or 1.9%
> ----------------------------------------------------------------------------
> Total: 5,809.00ms

I notice that you seem to be requesting views separately. You should be
able to do that in a single call to DatabaseMetaData.getTables together
with retrieving the tables.

Mark
--
Mark Rotteveel

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Thomas Kellerer 2021-10-03 12:07:59 Can't run CREATE PROCEDURE with new Postgres' 14 new SQL-standard body
Previous Message ldh@laurent-hasson.com 2021-10-02 06:29:46 RE: JDBC Meta-data performance for Foreign Keys