1. 統計資料庫中每張表的大小
1.1 首先執行下面的命令
exec sp_MSforeachtable @command1="sp_spaceused '?'";
1.2 檢測當前資料庫版本是否支援儲存過程“sp_MSforeachtable”,如果執行成功則可以使用下面的命令
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 ;
drop table tmp ;
- rows:行數
- reserved:資料庫為該表分配的空間
- data:資料實際使用的空間,reserved肯定>=data
- index_size:索引使用的空間
- unused:為資料庫中的物件保留但尚未使用的空間總量,大致等於reserved - data - index_size的值
2. 統計資料庫中每張表的行數
select 表名=a.name, 記錄數=b.rows
from sysobjects a, sysindexes b
where a.name=b.name and a.type='u'
ORDER BY b.rows desc