En Postgres 8.4 cuando haces:
select * from pg_stat_all_indexes where relname = 'table_name';
Devuelve los campos idx_tup_read e idx_tup_fetch, ¿cuál es la diferencia?
fuente
En Postgres 8.4 cuando haces:
select * from pg_stat_all_indexes where relname = 'table_name';
Devuelve los campos idx_tup_read e idx_tup_fetch, ¿cuál es la diferencia?
Al mirar el código fuente de la vista, verá que idx_tup_read
es el resultado de llamar pg_stat_get_tuples_returned()
y idx_tup_fetch
es el resultado de llamarpg_stat_get_tuples_fetched()
El manual describe las dos funciones de la siguiente manera:
pg_stat_get_tuples_returned (oid)
Número de filas leídas por exploraciones secuenciales cuando el argumento es una tabla, o número de entradas de índice devueltas cuando el argumento es un índice
pg_stat_get_tuples_fetched (oid)
Número de filas de tabla obtenidas por escaneos de mapa de bits cuando el argumento es una tabla, o filas de tablas obtenidas por escaneos de índice simples que usan el índice cuando el argumento es un índice
De los documentos 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
entonces, read
s son cuando el índice devuelve la posición de la fila requerida y fetch
es cuando el índice devuelve las filas de la tabla.
La página de documentación oficial dice que la diferencia entre ellos aparece:
En todos estos casos se idx_tup_read
hace mayor que idx_tup_fetch
.