统计SQLSERVER表行数,以及每天数据变化的行数

此sql对监控系统很有帮助,知道哪些表压力大,每天的数量级大概多少等信息。

得到这些信息就可以做相应的策略来进行系统优化。


create table tmp(
name varchar(50),
rows int,
reserved varchar(50),
data varchar(50),
index_size varchar(50),
unused varchar(50)
);

insert into tmp (
name, rows, reserved, data, index_size, unused
) exec sp_MSforeachtable @command1="sp_spaceused '?'";

select * from tmp where name <> 'tmp' order by data desc ;

select sum(rows)/75  as 平均每天增加行数 from tmp '假定数据库表总数是75
select sum(rows)/2.5 as 平均每月增加行数 from tmp

select (sum(rows)/2.5)*1.5 as 平均每月频率 from tmp
select (sum(rows)/75)*1.5 as 平均每天频率 from tmp
select ((sum(rows)/2.5)*1.5)/102 as 平均每月每人频率 from tmp '假定数据库总用户数是102人
select ((sum(rows)/75)*1.5)/102 as 平均每个人的每天操作频率 from tmp

drop table tmp ;

 

得出结果如下:

 

posted @ 2017-01-17 14:25  产卵的鱼  阅读(1556)  评论(0编辑  收藏  举报