美文网首页
sql server查询表大小

sql server查询表大小

作者: 吉凶以情迁 | 来源:发表于2024-10-13 11:55 被阅读0次


SELECT 
    t.name AS TableName,
    s.name AS SchemaName,
    SUM(a.total_pages) * 8 / 1024 AS TotalSpaceMB,
    SUM(a.used_pages) * 8 / 1024 AS UsedSpaceMB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024 AS UnusedSpaceMB
FROM 
    sys.tables t
INNER JOIN 
    sys.schemas s ON t.schema_id = s.schema_id
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
GROUP BY 
    t.name, s.name, p.rows
ORDER BY 
    TotalSpaceMB DESC;

但是 和对象资源管理器的对比发现有很大出入,

image.png
SELECT 
    t.NAME AS TableName,
    i.name AS IndexName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB,
    SUM(a.used_pages) * 8 AS UsedSpaceKB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB
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
WHERE 
    t.is_ms_shipped = 0
GROUP BY 
    t.Name, i.name, p.Rows
ORDER BY 
    TotalSpaceKB DESC;



也就是说,系统的是 还按索引区分了


image.png image.png

相关文章

网友评论

      本文标题:sql server查询表大小

      本文链接:https://www.haomeiwen.com/subject/luuirjtx.html