如何检查SQL Server中索引视图的大小?

| 它易于检查表和索引的存储大小,可以在SSMS Explorer和voila上右键单击表对象,详细信息会显示在一个漂亮的弹出窗口中。 但是由于索引视图的显示方式与普通视图相同,因此SSMS中没有可用的存储信息来显示磁盘上当前占用的大小。 是否有其他方法来计算尺寸(例如通过系统SP或类似方法)? 谢谢。     
已邀请:
EXEC sys.sp_spaceused @objname = N\'dbo.YourView\'
    
您可以在此处使用此查询来查找任何给定索引视图的数据:
SELECT 
    v.NAME AS ViewName,
    i.name AS IndexName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB, 
    SUM(a.used_pages) * 8 AS UsedSpaceKB, 
    SUM(a.data_pages) * 8 AS DataSpaceKB
FROM 
    sys.views v
INNER JOIN      
    sys.indexes i ON v.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 
    v.Name = \'YourViewNameHere\' --View name only, not \'schema.viewname\'
    AND
    i.index_id = 1   -- clustered index, remove this to see all indexes
GROUP BY 
    v.NAME, i.object_id, i.index_id, i.name, p.Rows
给输出类似
ViewName      IndexName     RowCounts  TotalSpaceKB  UsedSpaceKB  DataSpaceKB
YourViewName  IX_YourView     1771         592           552          536
    

要回复问题请先登录注册