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 01/04/2016 17:19:30

jdig
Membre

Monter un index en mémoire

Bonjour à toutes et tous,

Je cherche à savoir s'il est possible de forcer un index en mémoire afin d'optimiser mes requêtes :
Sur des tables de plusieurs centaines de millions de lignes indexées, le premier select prend plusieurs secondes alors que les suivants uniquement qq ms.
C'est pourquoi je cherche à avoir des temps de réponse stable en montant l'index en mémoire ...

Merci par avance de votre aide et toute idée est la bienvenue !
Julien

Hors ligne

#2 01/04/2016 19:26:38

rjuju
Administrateur

Re : Monter un index en mémoire

Bonjour,


Si vous disposez d'une version suffisamment récente, vous pouvez utiliser pg_prewarm : http://docs.postgresql.fr/9.4/pgprewarm.html

Hors ligne

#3 01/04/2016 19:53:12

jdig
Membre

Re : Monter un index en mémoire

Merci beaucoup rjuju,

Effectivement j'ai la version 9.5 et pg_prewarm semble être une bonne solution pour mon problème.

Hors ligne

#4 04/04/2016 22:06:12

gleu
Administrateur

Re : Monter un index en mémoire

Attention, pg_prewarm place l'objet en argument en mémoire mais rien ne dit qu'il y restera longtemps. Il est juste placé en mémoire, il en ressortira assez rapidement s'il n'est pas utilisé. Avec PostgreSQL, il n'existe aucun moyen pour fixer un objet en mémoire.


Guillaume.

Hors ligne

Pied de page des forums