Re: [pgsql-fr-generale] Besoin de conseil et de bonnes idées

From: Stéphane Schildknecht <sas(at)atosc(dot)org>
To: Sébastien Dinot <sebastien(dot)dinot(at)free(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: [pgsql-fr-generale] Besoin de conseil et de bonnes idées
Date: 2005-06-03 10:50:09
Message-ID: 42A035E1.8020609@atosc.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Sébastien Dinot wrote:

>Bonjour à tous,
>
>J'ai un problème sérieux et troublant de performance lors de
>l'intégration massive de données en base (6 millions de lignes),
>bien mis en évidence par le graphique suivant :
>
>http://sebastien.dinot.free.fr/tmp/integration.png
>
>- L'abscisse indique le nombre cumulé d'enregistrements traités.
>- L'ordonnée, le temps en secondes pour intégrer les 10000 dernières
> lignes.
>
>Les données _brutes_ sont stockées dans un fichier CSV. Elles ne sont
>pas directement intégrables en base à grand coup d'INSERT ou de COPY
>car elles requièrent un filtrage, une mise en forme, divers contrôles
>de validité et doivent vérifier plusieurs contraintes d'intégrité.
>
>Ces données sont donc traitées par un script Perl qui effectue
>grossièrement les mêmes traitements pour chaque ligne et enregistre
>selon leur nature les données dans une table parmi trois possibles.
>
>Au niveau SQL, ces traitements impliquent entre un et trois SELECT,
>puis un INSERT. L'une des trois tables contient des clés étrangères
>vers quatre autres tables mais celles-ci sont de taille réduites et
>surtout, ne sont pas modifiées durant l'intégration.
>
>Je pense que le comportement de PostgreSQL au delà du premier million
>d'enregistrements montre que mes tables sont correctement indexées
>mais je ne m'explique pas les résultats catastrophiques constatés lors
>de l'intégration du premier million.
>
>Je soupçonne une défaillance de l'optimiseur qui ferait de mauvais
>choix lorsqu'il y a peu de données en base.
>
>Qu'en pensez-vous ? Que vous inspire ce graphique ? Avez-vous déjà
>connu de tels déboires ? De quel côté jetteriez-vous un oeil ?
>
>Pour info, j'utilise un serveur PostgreSQL 7.4.7 sous Debian GNU/Linux
>3.1 testing.
>
>Sébastien
>
>
>
Salut Sébastien,

Après discussion avec BCH, nous souhaiterions voir les résultats que tu
obtiens dans les mêmes situations de tests, mais SANS l'exécution de la
clause INSERT.

Ceci afin de valider ou infirmer une première hypothèse.

Amitiés et meilleurs souvenirs de BCH.

Amicalement

Stéphane Schildknecht

In response to

Responses

  • Re: Be at 2005-06-03 12:35:12 from Sébastien Dinot
  • Re: Re at 2005-06-03 12:44:57 from Sébastien Dinot

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Sébastien Dinot 2005-06-03 12:35:12 Re: Be
Previous Message Geoffroy GRAND 2005-06-03 10:33:55 Re: pbl de connection entre PHP et Postgre 7.4.7