SQL Server da tabloların kayıt sayısı ve kapladığı alanı listelemek

Aşağıda yazdığım bir komut ile mevcut çalıştırdığınız veritabanı üzerindeki tabloların kayıt sayısı ve o tabloların kapladığı alanları görebilirsiniz.

SET nocount ON
IF (object_id('tempdb..#spaceused') IS NOT NULL) DROP TABLE #spaceused ;
CREATE TABLE #spaceused
    (
      name NVARCHAR(120),
      rows FLOAT,
      reserved VARCHAR(18),
      data VARCHAR(18),
      index_size VARCHAR(18),
      unused VARCHAR(18)
    )

DECLARE Tables CURSOR
    FOR SELECT  name
        FROM    sysobjects
        WHERE   type = 'U'
        ORDER BY name ASC

OPEN Tables
DECLARE @table VARCHAR(128)

FETCH NEXT FROM Tables INTO @table

WHILE @@FETCH_STATUS = 0
    BEGIN
        INSERT  INTO #spaceused
                EXEC sp_spaceused @table
        FETCH NEXT FROM Tables INTO @table
    END

CLOSE Tables
DEALLOCATE Tables 

SELECT  *
FROM    #spaceused
ORDER BY [rows] DESC

DROP TABLE #spaceused

Bu sorgu sonucunda gelen tablo listesine göre tanımlayacağınız indexlerin hangi tablolarda daha çok verim vereceğini görebilmiş olacaksınız.

Indexlerin önemi ve performansı arttırmadaki gücüne bir başka konuda değineceğiz..