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

来源:互联网 发布:linux wait源码分析 编辑:程序博客网 时间:2024/05/16 12:01
DECLARE @D DATETIMESET @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())

0 0