统计sql server数据库的每一个表格使用情况

经常在sqlserver数据库里看到很多表格,同时遇到数据库性能调优的问题。如果不是业务层面入手调优,而是 从底层数据库层面直接入手的话,就可以执行下面的语句,列出所有在库里的表格相关的信息。

这样做的主要目的是从列表中直接看出哪些表格的数据行数多、表格大小、索引大小等。就此可以估算(经验值)用到哪些表格时会碰到性能的方面的问题。再结合数据库的性能探查器,就可以很容易知道要做什么了!

查询分析器执行

use database


go

create table #t(name varchar(255), rows bigint, reserved varchar(20), data varchar(20),
index_size varchar(20), unused varchar(20))
exec sp_MSforeachtable "insert into #t exec sp_spaceused '?'"
select
(cast(replace(data,'KB','') as int)/1024) as datacolumnsize,
(cast(replace(index_size,'KB','') as int)/1024) as indexcolumnsize,
* from #t
order by datacolumnsize desc
drop table #t

go

执行结果

统计sql server数据库的每一个表格使用情况_第1张图片

希望给大家带来快乐,留下您的足迹~~~

你可能感兴趣的:(sql,sql,server,Go)