Frage

Es ist einfach, Speichergrößen für Tabellen und Indizes zu überprüfen, Sie können mit der rechten Maustaste auf das Tabellenobjekt auf SSMS Explorer und VOILA klicken. Die Details werden in einem schönen Popup angezeigt.

Da jedoch indizierte Ansichten genauso wie normale Ansichten angezeigt werden, gibt es in SSMS keine Speicherinformationen, um mir die aktuelle Größe auf der Festplatte anzuzeigen.

Bildbeschreibung eingeben hier

Gibt es eine Änderung, um die Größe zu berechnen (sagen Sie über ein System SP oder ein ähnliches Verfahren)?

danke.

War es hilfreich?

Lösung

EXEC sys.sp_spaceused @objname = N'dbo.YourView'

Andere Tipps

You can use this query here to find your data for any given indexed view:

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

Gives an output something like

ViewName      IndexName     RowCounts  TotalSpaceKB  UsedSpaceKB  DataSpaceKB
YourViewName  IX_YourView     1771         592           552          536
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top