SQL Server:統計數據庫中每張表的大小


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM