データベースのパフォーマンスの問題を把握するのに苦労しています。オンラインで多数のリソースを使用して、何を監視し、その情報を解釈する方法を学習しています。
上記から、pg_stat_database.tup_returned
とpg_stat_database.tup_fetched
の違いを明確に説明することができません。
PgAdmin4には、「Tuples out」と呼ばれる美しいグラフがあり、これらの2つの概念が対比されていますが、情報を解釈する方法がわかりません。 公式ドキュメント ではそれだけを言っています:
tup_returned
:このデータベースのクエリによって返された行数tup_fetched
:このデータベースのクエリによってフェッチされた行数「フェッチされた」と「返された」とはどういう意味ですか?
私はpostgresql 10を使用しています。
select count(*) from million_row_table
を実行すると、100万行が返されますが、フェッチされるのは1行のみです。
これらのフィールドがパフォーマンスの問題の診断に役立つことに気づいたことがありません。遅いクエリを見つけてEXPLAIN (ANALYZE, BUFFERS)
を実行します。