0

PostgreSQL 8.2を使用しています。

このアプリケーションでは、レポート生成の目的で一時テーブル (REPORTTEMP) を頻繁に使用します。すべてのタイプの DML ステートメントはこのテーブルで実行されますが、UPDATE ステートメントは INSERT と DELETE で比較的低くなります。そのため、トランザクションの完了後、このテーブルのレコード数は常にゼロになります。

私の質問は、このテーブルで発生している INSERT、UPDATE、および DELETE の数、つまりテーブルのヒット数を調べる方法です。パフォーマンスの観点からさらに調整するには、この統計が必要です。

ここで PostgreSQLの統計コレクターについても読みましたhttp://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html しかし、これには追加の実行時のオーバーヘッドが伴います。

この statistcs コレクターを有効にする前に、これを見つけるための別の/より良い方法はありますか?

4

1 に答える 1

1

一時テーブルを削除する直前 (または接続を閉じる前) に、すべての情報を保存するテーブルに pg_stats を選択します。

INSERT INTO history SELECT * FROM pg_stat_user_tables WHERE relname = 'temp_table';
于 2010-03-29T14:35:06.363 に答える