代码之家  ›  专栏  ›  技术社区  ›  GordyII

SQL Server 2005-如何确定特定索引的磁盘大小

  •  4
  • GordyII  · 技术社区  · 15 年前

    如何在sql server 2005中找到特定索引的磁盘大小?

    3 回复  |  直到 15 年前
        1
  •  9
  •   Martin    15 年前
    USE master
    
    SELECT SUM(used_page_count) * 8 AS [Size in kb]
    FROM sys.indexes i 
    JOIN sys.dm_db_partition_stats p ON p.object_id = i.object_id AND i.index_id = p.index_id
    WHERE i.object_id=OBJECT_ID('dbo.spt_values') AND i.name='ix2_spt_values_nu_nc'
    
        2
  •  2
  •   user3104183 bjnr    12 年前

    Find out the disk size of an index :

    SELECT
        OBJECT_NAME(I.OBJECT_ID) AS TableName,
        I.name AS IndexName,   
        8 * SUM(AU.used_pages) AS 'Index size (KB)',
        CAST(8 * SUM(AU.used_pages) / 1024.0 AS DECIMAL(18,2)) AS 'Index size (MB)'
    FROM
        sys.indexes I
        JOIN sys.partitions P ON P.OBJECT_ID = I.OBJECT_ID AND P.index_id = I.index_id
        JOIN sys.allocation_units AU ON AU.container_id = P.partition_id
    WHERE 
        OBJECT_NAME(I.OBJECT_ID) = '<TableName>'    
    GROUP BY
        I.OBJECT_ID,    
        I.name
    ORDER BY
        TableName
    
        3
  •  0
  •   davidhaskins    14 年前

    USE AdventureWorks2012;
    GO
    EXEC sp_spaceused 'Purchasing.Vendor';
    GO
    

    更多信息: http://msdn.microsoft.com/en-us/library/ms188776.aspx

    推荐文章