Re: UPDATE de plus en plus long

From: Paul Poirel <poirelpa(at)gmail(dot)com>
To: Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>
Cc: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: UPDATE de plus en plus long
Date: 2013-11-19 13:57:11
Message-ID: CAK9eNFxtpd2L0YsrxhbE2OyQPWxu7miVkM4aM+sqmmukDmF=dA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

>
>
> 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

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Michel Payan 2013-11-19 14:03:10 Re: UPDATE de plus en plus long
Previous Message Paul Poirel 2013-11-19 13:51:10 Re: UPDATE de plus en plus long