From: | "Martial Elise KIBA" <mkiba(at)delgi(dot)gov(dot)bf> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | PostgreSQL8.2.3 Performance |
Date: | 2007-04-27 11:50:57 |
Message-ID: | 20070427113657.M51911@mailer.gov.bf |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
Hi all,
I have a database running on POstgreSQL 8.2.3. The plpgsql functions were
running well on my previous release.
When i migrated to 8.2.3, I noticed some performance degradation, specially
whith one of my function which makes an update to a table.
Here is the code of the function
CREATE OR REPLACE FUNCTION update1()
RETURNS varchar(50)
AS
$BODY$
DECLARE
v_cur CURSOR FOR SELECT numero, prixvente FROM produits;
v_prixvente produitscommandes.prixvente%TYPE;
v_produit produits.numero%TYPE;
BEGIN
OPEN v_cur;
LOOP
FETCH v_cur INTO v_produit, v_prixvente;
UPDATE produitscommandes SET prixvente=v_prixvente WHERE
produit=v_produit;
EXIT WHEN NOT FOUND; -- Sortie de la boucle
END LOOP;
CLOSE v_cur;
RETURN 'mise à jour effectuée';
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
''######################################""
produitscommandes has a primary key on commande and produit
produitscommandes has 2 indexes on commande and produit
produits has a primary key on numero
When i call the function it takes a lot (it can take 30 minutes for
approximatively 5 000 rows in produitscommandes and 3 000 in produits)
thanks all for your help.
PS: tried vaccum and analyse on table produitscommandes
Martial E. W. KIBA
Ingénieur de Conception en Informatiques
Option Génie-Logiciel
Tél: (+226) 70 15 44 93
Mail: mkiba(at)delgi(dot)gov(dot)bf / mkiba01(at)yahoo(dot)fr
From | Date | Subject | |
---|---|---|---|
Next Message | Jonah H. Harris | 2007-04-27 13:35:26 | Re: PostgreSQL8.2.3 Performance |
Previous Message | Bill Moran | 2007-04-26 13:28:57 | Re: [GENERAL] pg_buffercache view |