Sur Postgres 8.4 lorsque vous faites:
select * from pg_stat_all_indexes where relname = 'table_name';
Il renvoie les champs idx_tup_read et idx_tup_fetch, quelle est la différence?
Sur Postgres 8.4 lorsque vous faites:
select * from pg_stat_all_indexes where relname = 'table_name';
Il renvoie les champs idx_tup_read et idx_tup_fetch, quelle est la différence?
Lorsque vous regardez le code source de la vue, vous verrez que idx_tup_read
c'est le résultat de l'appel pg_stat_get_tuples_returned()
et idx_tup_fetch
le résultat de l'appelpg_stat_get_tuples_fetched()
Le manuel décrit les deux fonctions comme suit:
pg_stat_get_tuples_returned (oid)
Nombre de lignes lues par des analyses séquentielles lorsque l'argument est une table ou nombre d'entrées d'index renvoyées lorsque l'argument est un index
pg_stat_get_tuples_fetched (oid)
Nombre de lignes de table extraites par des analyses bitmap lorsque l'argument est une table, ou des lignes de table extraites par des analyses d'index simples à l'aide de l'index lorsque l'argument est un index
Depuis les documents postgresql ,
idx_tup_read is number of index entries returned by scans on this index
idx_tup_fetch is number of live table rows fetched by simple index scans using this index
ainsi, les read
s sont lorsque l'index renvoie la position de la ligne requise et les fetch
es sont lorsque l'index renvoie les lignes de la table elles-mêmes.
La page de documentation officielle indique que la différence entre eux apparaît:
Dans tous ces cas idx_tup_read
devient supérieur à idx_tup_fetch
.