From: | Stéphane Bunel <stephane(at)stratum-ip(dot)net> |
---|---|
To: | Guillaume BARTHE <g(dot)barthe(at)newtech(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org, c(dot)werra(at)newtech(dot)fr |
Subject: | Re: Index qui arrête d' |
Date: | 2005-03-22 16:43:48 |
Message-ID: | 42404B44.7070104@stratum-ip.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Guillaume BARTHE a écrit :
> Bonjour à tous,
>
> voilà mon problème:
> version de postgresql 7-3-2
> VACUUM et VACUUM ANALYSE quotidient.
> Ce matin, la requête "SELECT" sur une de mes tables qui utilise un index
> BTREE sur un varchar , a décidé de ne plus utiliser cet index.
> Evidement, quand la requête passe de bien moins que 1 seconde à une
> trentaine de secondes sur une table supportant un gros calcul, ça a
> causé quelques surprises.
>
> Pour que l'index puisse à nouveau être utilisé, il a fallu faire un
> cluster sur l'index.
>
> La table bougeant beaucoup, on voudrait éviter la méthode :"faire des
> clusters périodiquement".
Pour PG7.3 il est recommandé de lancer un ANALYSE après un CLUSTER sans
quoi l'optimiseur peut faire de mauvais choix comme vous le décrivez.
En revanche contrairement à PG8 le périodique VACUUM ne relance pas une
opération de CLUSTER sur une table déjà ainsi traitée, il semble donc
nécessaire de le faire à la 'main' ou de constituer un script psql en
charge de faire l'entretient journalier (ou sur une autre période en
fonction de la durée de vie des données et de la taille des tables).
Stéphane.
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane Sochacki | 2005-03-29 08:47:41 | Développements coté serveur |
Previous Message | Guillaume BARTHE | 2005-03-22 15:48:10 | Index qui arrête d'être utilisé |