Estou enfrentando um momento difícil tentando descobrir alguns problemas de desempenho no meu banco de dados. Estou usando vários recursos on-line para aprender o que monitorar e como interpretar essas informações.
Do exposto, não consigo encontrar uma explicação clara sobre qual é a diferença entre pg_stat_database.tup_returned
e pg_stat_database.tup_fetched
.
No pgAdmin4, existe um lindo gráfico chamado "Tuples out" onde esses dois conceitos são contrastados, mas não sei como interpretar a informação. Na documentação oficial diz apenas que:
tup_returned
: Número de linhas retornadas por consultas neste banco de dadostup_fetched
: Número de linhas buscadas por consultas neste banco de dados
O que exatamente significa "buscado" e "retornado"?
Estou usando o postgresql 10.
Se você fizer isso
select count(*) from million_row_table
, um milhão de linhas serão retornadas, mas apenas uma linha será buscada.Não consigo ver se esses campos são úteis para diagnosticar problemas de desempenho. Encontre sua consulta lenta e faça uma
EXPLAIN (ANALYZE, BUFFERS)
parte dela.