PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 27/03/2009 16:39:28

slash
Membre

temps de traitement d'une requete

Bonjour tout le monde,

Je rencontre un problème de performances sous PostGreSQL : j'ai une fonction PostGreSQL (InserttoDB) qui se charge de faire un UPDATE, puis un INSERT puis un UPDATE. Je la lance depuis un programme C, et je vois que plus ma base se remplit, plus la requete InserttoDB est longue à faire. J'ai actuellement 130 enregistrements dans ma table, et un INSERT me prend entre 2 et 3 secondes!!

Est-ce normal que cela soit si long??

D'avance merci,
Mat.

Hors ligne

#2 27/03/2009 17:06:33

gleu
Administrateur

Re : temps de traitement d'une requete

Non, ça ne devrait pas être si long.


Guillaume.

Hors ligne

#3 27/03/2009 17:10:50

slash
Membre

Re : temps de traitement d'une requete

hm, je pense que je perds du temps sur les requetes d'UPDATE etc...
Est-ce que l'utilisation d'un Trigger accélérera les choses?

En fait avant chaque nouveau INSERT, je dois faire quelques tests :

- Si un enregistrement de meme code (c'est un historique) est déjà présent et ne possède pas de date de fin, alors je mets une date de fin
- J'incrémente le champ "occurence"

et pour finir j'insère mon nouvel enregistrement avec la bonne information dans le champ occurence.

Hors ligne

#4 27/03/2009 19:04:31

gleu
Administrateur

Re : temps de traitement d'une requete

Un trigger ne peut accélérer les choses que dans le sens où il n'y aura pas plusieurs va et vient entre le client et le serveur. Mais la description du problème est tellement vague qu'on ne peut guère donner de conseils. Donnez plutôt la description complète de la table, et un exemple d'ordres SQL exécutés avec la volumétrie actuelle.


Guillaume.

Hors ligne

Pied de page des forums