Question :
I’m facing a hard time trying to figure it out some performance problems in my database. I’m using a bunch of resources online to learn what to monitor and how to interpret that information.
From the above, I’m unable to find a clear explanation of what is the difference between pg_stat_database.tup_returned
and pg_stat_database.tup_fetched
.
In pgAdmin4, there is a beautiful chart called “Tuples out” where these two concepts are contrasted, but I don’t know how to interpret the info. In the official documentation only says that:
tup_returned
: Number of rows returned by queries in this databasetup_fetched
: Number of rows fetched by queries in this database
What exactly does “fetched” and “returned” mean?
I’m using postgresql 10.
Answer :
If you do select count(*) from million_row_table
, one million row wills be returned, but only one row will be fetched.
I can’t see I’ve ever found these fields useful for diagnosing performance problems. Find your slow query and do an EXPLAIN (ANALYZE, BUFFERS)
of it.