表上的 DML 统计信息
我们使用 PostgreSQL 8.2。
在我们的应用程序中,我们大量使用临时表(REPORTTEMP)来生成报告 生成目的。所有类型的 DML 语句都在此表中执行,但 UPDATE INSERT 和 DELETE 的语句相对较少。所以,在任何时候 一段时间内,交易完成后,该表中的记录数将 永远为零。
我的问题是,如何找出有多少 INSERT、UPDATE 和 DELETE 发生在这个表中,即表的命中数。我需要这个统计数据来进一步调整 性能方面。
我还在这里阅读了PostgreSQL 的统计收集器 http://www.postgresql.org/docs/8.2/interactive/监控统计.html 但这是以额外的运行时开销为代价的。
在启用此统计收集器之前,是否有任何不同/更好的方法 我们能查出这个吗?
We're using PostgreSQL 8.2.
In our application, we heavily use a temporary table (REPORTTEMP) for report
generation purpose. All type of DML statements are performed in this table, but UPDATE
statement is comparatively very low with INSERTs and DELETEs. So, at any point
of time, after completion of the transaction, record count in this table will
always be zero.
My question is, how do I find out how many INSERTs, UPDATEs and DELETEs are
happening in this table, that is hit count of a table. I require this statistics for further tuning from the
performance aspect.
I also read about PostgreSQL's Statistics Collector here
http://www.postgresql.org/docs/8.2/interactive/monitoring-stats.html
but this comes at the expense of additional run-time overhead.
Before enabling this statistcs collector, is there any different/better way in which
we can find out this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在删除临时表之前(或关闭连接之前),将 pg_stats 选择到存储所有信息的表中:
Just before dropping the temp table (or before closing the connection), select pg_stats into a table where you store all the information: