SQL Server 数据库查看表占用内存

SELECT top 10

t.NAME AS TableName,
p.rows AS RowCounts,--数据量
SUM ( a.total_pages ) * 8 AS TotalSpaceKB,--空间总内存KB
CAST (
ROUND((( SUM ( a.total_pages ) * 8 ) / 1024.00 ), 2 ) AS NUMERIC ( 36, 2 )) AS TotalSpaceMB,
SUM ( a.used_pages )* 8 AS UsedSpaceKB,--使用内存KB
CAST (
ROUND((( SUM ( a.used_pages ) * 8 ) / 1024.00 ), 2 ) AS NUMERIC ( 36, 2 )) AS UsedSpaceMB,
(
SUM ( a.total_pages ) - SUM ( a.used_pages )) * 8 AS UnusedSpaceKB,--未使用内存KB
CAST (
ROUND((( SUM ( a.total_pages ) - SUM ( a.used_pages )) * 8 ) / 1024.00, 2 ) AS NUMERIC ( 36, 2 )) AS UnusedSpaceMB
FROM
sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id= p.index_id
INNER JOIN sys.allocation_units a ON p.partition_id= a.container_id
LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped= 0 AND i.OBJECT_ID > 255 GROUP BY t.Name, s.Name, p.Rows ORDER BY SUM ( a.total_pages ) DESC

posted @ 2020-07-31 11:36  JokerYin  阅读(964)  评论(0)    收藏  举报