J'ai du mal à essayer de comprendre certains problèmes de performances dans ma base de données. J'utilise un tas de ressources en ligne pour savoir quoi surveiller et comment interpréter ces informations.
De ce qui précède, je ne parviens pas à trouver une explication claire de la différence entre pg_stat_database.tup_returned
et pg_stat_database.tup_fetched
.
Dans pgAdmin4, il y a un beau graphique appelé "Tuples out" où ces deux concepts sont contrastés, mais je ne sais pas comment interpréter l'info. Dans le documentation officielle dit seulement que:
tup_returned
: Nombre de lignes renvoyées par les requêtes dans cette base de donnéestup_fetched
: Nombre de lignes récupérées par les requêtes dans cette base de donnéesQue signifie exactement "récupéré" et "retourné"?
J'utilise postgresql 10.
Si vous faites select count(*) from million_row_table
, un million de testaments de ligne seront retournés, mais une seule ligne sera récupérée.
Je ne vois pas que j'ai jamais trouvé ces champs utiles pour diagnostiquer les problèmes de performances. Trouvez votre requête lente et effectuez une EXPLAIN (ANALYZE, BUFFERS)
.