Re: traitement par lots et sequence

From: CRUMEYROLLE Pierre <pierre(dot)crumeyrolle(at)c-s(dot)fr>
To: pgsql-fr-generale(at)lists(dot)postgresql(dot)org
Subject: Re: traitement par lots et sequence
Date: 2019-06-12 13:56:49
Message-ID: 20190612155649.Horde.ahfB1k5xej_MlxrQI0L_Tg1@messagerie.c-s.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

je confirme avec ce genre de technique : ddBatch() et executeBatch()
gain de perf d'un facteur 10

Daniel Verite <daniel(at)manitou-mail(dot)org> a écrit :

> CRUMEYROLLE Pierre wrote:
>
>> en fait j'analyse une enorme usine à gaz code en hibernate/jpa codé
>> par des adeptes de l'object
>
> Effectivement ça complique beaucoup l'affaire, je compatis...
>
> Juste une piste qui peut mériter un coup d'oeil si une refactorisation
> n'est pas possible: JDBC a un mode batch qui permet d'accélerer
> ce genre d'INSERTs à la file.
> Ca s'utilise avec les méthodes addBatch() et executeBatch()
> de Statement, cf [1].
>
> L'effet est que les INSERT d'après sont envoyés par le client
> alors que les INSERT d'avant sont encore en train de s'exécuter
> sur le serveur, ce qui accélère globalement l'ensemble
> (effet pipeline, comme COPY).
>
> D'ailleurs un patch a été proposé pour faire ça dans libpq (en C) [2],
> je l'avais testé avec pgbench il y a quelque temps et les résultats
> étaient impressionnants.
> Malheureusement il est resté tanké dans le processus de validation
> (mais je ne désespère pas qu'il pourrait revivre pour une intégration
> dans Postgres 13).
> Le driver JDBC de PostgreSQL n'est pas basé sur libpq et a déjà
> cette fonctionnalité.
>
>
> [1]
> https://stackoverflow.com/questions/3784197/efficient-way-to-do-batch-inserts-with-jdbc/
> [2] https://commitfest.postgresql.org/10/634/
>
>
> Cordialement,
> --
> Daniel Vérité

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Cédric Villemain 2019-06-14 09:00:57 Re: traitement par lots et sequence
Previous Message Daniel Verite 2019-06-12 13:45:23 Re: traitement par lots et sequence