表上的DML统计信息

时间:2010-03-29 13:27:53

标签: database postgresql temp-tables

我们正在使用 PostgreSQL 8.2

在我们的应用程序中,我们大量使用临时表(REPORTTEMP)进行报告 生成目的。所有类型的DML语句都在此表中执行,但是UPDATE INSERT和DELETE的语句相对较低。所以,在任何时候 时间,在交易完成后,此表中的记录计数将为 总是零。

我的问题是,如何找出INSERT,UPDATE和DELETE的数量 发生在这个表中,即表的命中数。我需要这个统计数据来进一步调整 表现方面。

我也在这里阅读了 PostgreSQL的统计收集器 http://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html 但这是以额外的运行时开销为代价的。

在启用此statistcs收集器之前,是否有任何不同/更好的方法 我们可以找到这个吗?

1 个答案:

答案 0 :(得分:1)

在删除临时表之前(或在关闭连接之前),在存储所有信息的表中选择pg_stats:

INSERT INTO history SELECT * FROM pg_stat_user_tables WHERE relname = 'temp_table';