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: Pgsql Fr Generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: UPDATE de plus en plus long
Date: 2013-11-19 13:29:34
Message-ID: CAPFLA-Poy5s10tMyf4pHdN0=gdatPBD48hB79xgfTzw9Q8bjMQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Une piste, la gestion de version de ligne sous PG ...

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

> Bonjour,
>
> Je rencontre un problème : dans une boucle, une requête UPDATE sur une
> seule ligne prend de plus en plus de temps.
>
> J'ai essayé de simplifier le problème au mieux :
>
> CREATE OR REPLACE FUNCTION test() RETURNS VOID AS
> $BODY$
> DECLARE
> t timestamp;
> BEGIN
> CREATE TABLE TBL_TEST (N INTEGER NOT NULL);
> INSERT INTO TBL_TEST (N) VALUES (0);
> for i IN 0..10000 LOOP
> t = clock_timestamp();
> UPDATE TBL_TEST SET N = 0;
> raise notice 't %',EXTRACT(MILLISECONDS FROM(clock_timestamp() -
> t));
> END LOOP;
> DROP TABLE TBL_TEST;
> END;
> $BODY$
> LANGUAGE plpgsql;
>
> Sur ma machine, la première itération prend 0.371ms. Les suivantes sont
> autour de 0.07 ms, puis le temps augmente graduellement.
> Au bout de 10 000 itérations, la requête prend environ 0.4ms.
>
> Voyez-vous une raison à cette augmentation du temps d'exécution de la
> requête ?
>
> Merci d'avance 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 13:39:33 Re: UPDATE de plus en plus long
Previous Message Michael Paquier 2013-11-19 13:16:37 Re: UPDATE de plus en plus long