No Postgres 8.4, quando você faz:
select * from pg_stat_all_indexes where relname = 'table_name';
Retorna os campos idx_tup_read e idx_tup_fetch, qual é a diferença?
fonte
No Postgres 8.4, quando você faz:
select * from pg_stat_all_indexes where relname = 'table_name';
Retorna os campos idx_tup_read e idx_tup_fetch, qual é a diferença?
Ao olhar para o código fonte da visualização, você verá que idx_tup_read
é o resultado da chamada pg_stat_get_tuples_returned()
e idx_tup_fetch
é o resultado da chamadapg_stat_get_tuples_fetched()
O manual descreve as duas funções da seguinte maneira:
pg_stat_get_tuples_returned (oid)
Número de linhas lidas por varreduras sequenciais quando argumento é uma tabela ou número de entradas de índice retornadas quando argumento é um índice
pg_stat_get_tuples_fetched (oid)
Número de linhas da tabela buscadas por varreduras de bitmap quando o argumento é uma tabela ou linhas de tabela buscadas por varreduras de índice simples usando o índice quando o argumento é um índice
Nos documentos do 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
portanto, read
s são quando o índice retorna a posição da linha necessária e fetch
es são quando o índice retorna as próprias linhas da tabela.
A página da documentação oficial diz que a diferença entre eles aparece:
Em todos esses casos, idx_tup_read
torna-se maior que idx_tup_fetch
.