Bien le bonjour messieurs,

Je viens vers vous pour m'aider à comprendre (surtout pour m'assurer que mon interprétation n'est pas totalement foireuse!) parce que je ne suis pas certain d'avoir compris le fonctionnement d'une table de statistiques.

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELLECT stat_i.*
     , statio_i.idx_blks_read, statio_i.idx_blks_hit
  FROM pg_stat_all_indexes stat_i
       INNER JOIN pg_statio_all_indexes statio_i on stat_i.indexrelid = statio_i.indexrelid;

J'exécute cette requête et j'ai donc 5 colonnes de statistiques qui s'affichent. Je me suis retrouvé avec pas mal de ces colonnes à 0, notamment les colonnes idx_tup_read, idx_scan et idx_tup_fetch.
J'ai donc rajouté ce petit filtre dessous en pensant que c'était des index non utilisés par les divers processus de traitement de l'application.

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 WHERE idx_tup_read  = 0
   AND idx_scan      = 0
   AND idx_tup_fetch = 0

Est-ce que je peux considérer, à partir de ces 3 champs, que l'index qui possède ces 3 colonnes à 0 est un index inutilisé ? Ou peut-être ai-je mal compris la lecture de cette requête (et c'est probable).

Cordialement,
Lyche