22,207
社区成员
发帖
与我相关
我的任务
分享
--查看表大小
IF OBJECT_ID('tempdb..#TB_TEMP_SPACE') IS NOT NULL DROP TABLE #TB_TEMP_SPACE
GO
CREATE TABLE #TB_TEMP_SPACE(
NAME VARCHAR(500)
,ROWS INT
,RESERVED VARCHAR(50)
,DATA VARCHAR(50)
,INDEX_SIZE VARCHAR(50)
,UNUSED VARCHAR(50)
)
GO
SP_MSFOREACHTABLE 'INSERT INTO #TB_TEMP_SPACE exec sp_spaceused ''?'''
GO
SELECT *,'ALTER TABLE [dbo].['+NAME+'] REBUILD PARTITION = ALL
WITH
(DATA_COMPRESSION = PAGE
)' as sql
FROM #TB_TEMP_SPACE
ORDER BY REPLACE(DATA,'KB','')+0 DESC
GO
在查看一下表大小和索引的大小,看看是哪个表占的空间大。