Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'aimerai savoir quelle est exactement la différence entre les informations retournées par "pg_statio_all_indexes" et "pg_stat_all_indexes".
Notemment dans pg_stat_all_indexes on a:
idx_scan = Nombre de parcours d'index initiés par cet index
idx_tup_read = Nombre d'entrées d'index retournées par des parcours sur cet index
idx_tup_fetch = Nombre de lignes vivantes de la table rapportées par des simples parcours d'index utilisant cet index
Mais dans pg_statio_all_indexes, on a également:
idx_blks_read = Nombre de blocs disque lus pour cet index
idx_blks_hit = Nombre de tampons récupérés sur cet index
Le problème est: si je veux savoir si un index est utilisé ou pas, lequel des informations prendre en compte ? Car pour un index donné je vois par exemple :
idx_scan = 0, idx_tup_read = 0, idx_tup_fetch = 0 alors que idx_blks_read = 45357197, idx_blks_hit = 877656203
Hors ligne
Apparemment, cet index n'est pas utilisé (d'où les trois premiers à 0). Mais il est évidemment maintenu lors d'écritures dans la table ou lors d'un REINDEX (d'où les deux derniers à une valeur bien supérieure à 0).
Guillaume.
Hors ligne
Merci de votre réponse rapide,
Donc si je comprends bien, seul pg_stat_all_indexes est à prendre en compte si on veux connaitre si un index est utilisé ou pas. Pouvez-vous confirmer svp?
Mais de coup quel est le vrai interet de pg_statio_all_indexes ?
Hors ligne
Oui, on peut le dire ainsi. pg_statio_* sert à savoir si les objets tiennent bien dans le cache ou pas, ce qui semble être le cas pour vous vu que 95% des accès ont lieu dans le cache.
Guillaume.
Hors ligne
Ok, merci beaucoup pour ces explications interessantes
Hors ligne
Pages : 1