Re: UPDATE de plus en plus long

From: Michel Payan <michel(dot)payan(at)gmail(dot)com>
To: Paul Poirel <poirelpa(at)gmail(dot)com>
Cc: Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>, Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: UPDATE de plus en plus long
Date: 2013-11-19 14:03:10
Message-ID: CAPFLA-MZBeqwBefESHOBvAKERr1aoaHnO=ty-7MZ8AEOEmeUwQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Tu peux peut-être passer par une variable compteur et faire un update
uniquement en fin de traitement ?

Le 19 novembre 2013 14:57, Paul Poirel <poirelpa(at)gmail(dot)com> a écrit :

>
>> 1. les curseurs fonctionnent aussi dans une session :
>
> Ce curseur n'est qu'une étape d'un traitement lancé par une fonction
> PL/PGSQL. Je n'ai pas le choix de terminer la transaction.
>
>>
>>
>> 2. le traitement en question doit-il créer autant de tables ?
>>
> Dans mon exemple, il n'y a qu'une seule table avec une seule ligne.
> Seul l'UPDATE est répété.
>
>> Cela me semble étonnant, est-il possible d'utiliser une seule table
>> temporaire et de faire un TRUNCATE en fin de traitement ?
>
> La valeur mise à jour est utile après la fin du traitement.
>
>>
>> Ou mieux, d'exprimer le traitement en SQL plutôt qu'en procédural ?
>
> Ce n'est malheureusement pas une option.
>
>>
>> Note : UPDATE sait travailler sur une jointure.
>>
> cf. ma réponse précédente qui donne plus de détails sur le fonctionnement
> réel : cet update ne fait qu'incrémenter un champ, à la manière d'une
> séquence. Je ne peux pas le sortir de la boucle.
>
> Merci pour votre aide
>
> Paul
>

--

*dbSQWare |* www.dbsqware.com *|* *Exploitez vos bases de données en toute
sérénité …*

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Paul Poirel 2013-11-19 14:09:55 Re: UPDATE de plus en plus long
Previous Message Paul Poirel 2013-11-19 13:57:11 Re: UPDATE de plus en plus long