sql查询表大小行数以及使用空间

Posted wgwyanfs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql查询表大小行数以及使用空间相关的知识,希望对你有一定的参考价值。

DECLARE @D DATETIME
SET @D=GETDATE()

SET NOCOUNT ON 
EXEC SP_MSFOREACHTABLE 
@PRECOMMAND=N‘
CREATE TABLE ##(
ID INT IDENTITY,
表名 SYSNAME,
字段数 INT,
记录数 INT,
保留空间 NVARCHAR(20),
使用空间 VARCHAR(20),
索引使用空间 VARCHAR(20),
未用空间 VARCHAR(20))‘,
@COMMAND1=N‘INSERT ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) EXEC SP_SPACEUSED ‘‘?‘‘
        UPDATE ## SET 字段数=(SELECT COUNT(*) FROM SYSCOLUMNS WHERE ID=OBJECT_ID(‘‘?‘‘)) WHERE ID=SCOPE_IDENTITY()‘,
@POSTCOMMAND=N‘SELECT * FROM ## ORDER BY 记录数 DESC DROP TABLE ##‘
SET NOCOUNT OFF 

SELECT [语句运行花费时间(毫秒)]=DATEDIFF(MS,@D,GETDATE())


以上是关于sql查询表大小行数以及使用空间的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server查看所有表大小表行数和占用空间信息

sql查询数据库中所有表的记录条数,以及占用磁盘空间大小。

查看MSSQL数据库每个表占用的空间大小

MySQL中查询表及索引大小的方法

oracle 查看表行数所占空间大小

oracle查看所有表及各表行数