如何统计应用系统的数据更新情况

大家好,在做性能调优时,我们希望统计应用系统的数据更新情况,包括:

1. 每日数据更新量:单表记录更新量,每一个数据库大小的更新最
2. 实时数据事务峰值:单位时间内增加、删除、修改的操作最多的次数是多少,最小以1小时为单位,如果能获得10分钟、5分钟或者1分钟的数据更新量更好)
3. 历史数据事务操作峰值:以往单位时间内增加、删除、修改的操作最多的次数是多少;一天中哪个时间段的数据更新操作最频繁,产生多少数据。

在获取以上数据时,最好不要改动原数据表结构。

如果原数据表结构中有timestamp类型字段还好办,如果没有的话应该怎么统计?希望大家不吝赐教。
参与24

23同行回答

wwhalxjwwhalxj项目经理亚信联创科技(中国)有限公司
GET DIAGNOSTICS v_rcount = ROW_COUNT 可以检测最近执行的 UPDATE、INSERT 或 DELETE 语句的行数显示全部
GET DIAGNOSTICS v_rcount = ROW_COUNT
可以检测最近执行的 UPDATE、INSERT 或 DELETE 语句的行数收起
IT分销/经销 · 2010-09-11
浏览1375
guoke56111guoke56111技术经理市商业银行
不错,学习了,现在的应用程序是需要编写很成。。。。显示全部
不错,学习了,现在的应用程序是需要编写很成。。。。收起
互联网服务 · 2010-09-11
浏览1349
回复 5# 蓝天有约     比较肯定地说没有。显示全部
回复 5# 蓝天有约


    比较肯定地说没有。收起
2010-08-26
浏览1324
mdkiimdkii软件开发工程师bocn
db2pd -d -tcbstats显示全部
db2pd -d -tcbstats收起
银行 · 2010-08-13
浏览1343
对于数据库的事务操作统计,可以使用db2 get snapshot  for db on your_db_name 取出想要的信息,十分钟后再做一次get snapshot for db,取出同样的想要的信息,一对比,就可以得出十分钟内数据库事务操作量了。对于某个表的事务操作统计,可以通过db2pd -d dbname -tabst...显示全部
对于数据库的事务操作统计,可以使用db2 get snapshot  for db on your_db_name 取出想要的信息,十分钟后再做一次get snapshot for db,取出同样的想要的信息,一对比,就可以得出十分钟内数据库事务操作量了。
对于某个表的事务操作统计,可以通过db2pd -d dbname -tabstats 里面有对每个表的insert,update,delete,scan等的信息,取出来;十分钟后再重复,也能得出时间间隔内某个表的事务操作情况了。收起
2010-08-13
浏览1344
nowhillnowhill系统工程师
其实我就知道9.7针对表的好像没什么办法了针对数据库的可以用SELECT  SNAPSHOT_TIMESTAMP,rows_inserted,       rows_updated,       rows_deleted FROM SYSIBMADM.SNAPDB;方法同上,每分钟插入到一张表里取,以后根据需...显示全部
其实我就知道9.7
针对表的好像没什么办法了
针对数据库的可以用
SELECT  SNAPSHOT_TIMESTAMP,rows_inserted,
       rows_updated,
       rows_deleted FROM SYSIBMADM.SNAPDB;
方法同上,每分钟插入到一张表里取,以后根据需求统计
SYSIBMADM.SNAPDB 9.5 有吗?

db2 要得到一些性能的数据真tmd的难啊收起
IT分销/经销 · 2010-08-04
浏览1405
wangzhonnewwangzhonnew软件工程师IBM Canada Ltd.
write your own application :) call snapshot functions every 15 min and insert data into another mysql database for performance analysis (just like many performance analysis applications do)...显示全部
write your own application :) call snapshot functions every 15 min and insert data into another mysql database for performance analysis (just like many performance analysis applications do)...收起
IT分销/经销 · 2010-08-04
浏览1388
谢谢 nowhill,你的方法很好。 可惜这个MON_GET_TABLE只能是DB2 9.7.1上使用,我现在的环境是 8.2和9.5。显示全部
谢谢 nowhill,你的方法很好。 可惜这个MON_GET_TABLE只能是DB2 9.7.1上使用,我现在的环境是 8.2和9.5。收起
2010-08-03
浏览1343
limin19821limin19821系统工程师乐酷天
回复 15# nowhill 这个猛,厉害!显示全部
回复 15# nowhill
这个猛,厉害!收起
IT分销/经销 · 2010-08-03
浏览1338
nowhillnowhill系统工程师
建立一个表,储存历史数据,比如说create table test(insert_date timestamp,tabschema varchar(30),tabname varchar(30),rows_inserted bigint,rows_updated bigint,rows_deleted bigint);2.建立一个job,每分钟把历史数据插入到test表中insert into testwith time as(SELECT...显示全部
建立一个表,储存历史数据,比如说
create table test(insert_date timestamp,tabschema varchar(30),tabname varchar(30),rows_inserted bigint,rows_updated bigint,rows_deleted bigint);
2.建立一个job,每分钟把历史数据插入到test表中
insert into test
with time as(SELECT
      current_timestamp cu_time from sysibm.dual)
select
     cu_time ,
      varchar(tabschema,20) as tabschema,
       varchar(tabname,20) as tabname,
      rows_inserted,
       rows_updated,
       rows_deleted
FROM TABLE(MON_GET_TABLE('','',-2)) AS t ,time

3.想统计1分钟,5分钟,1个小时,1天,因为表test里已有时间
所以,你只要 选择你的时间间隔,就可以计算出各种你要的结果收起
IT分销/经销 · 2010-08-03
浏览1387

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-08-03
  • 关注会员:1 人
  • 问题浏览:15010
  • 最近回答:2010-09-11
  • X社区推广