Sql Server Sayfalama Oranı Nasıl Bulunur ?

  1. Bad Code
    3
    2474
    29.03.2019 18:13:00

    Sql database de bulunan datalar sayfalarda kaydediliyor. Bu oluşan sayfaların yüzdelik oranı ile ne kadarında data olduğunu nasıl öğrenebilirim. Eğer ki bir tabloda gereğinden fazla sayfa var ise indexleri rebuild etmek istiyorum.

    sql sql-server 2 yıl önce 448 Görüntüleme

( 1 ) Cevap

  1. ali
    2
    ali
    6418
    29.03.2019 18:18:00

    Yüzdelik oranları artan sıralama ile alabilirsiniz.

    SELECT 
        t.NAME AS TabloAdı,
        p.rows AS SatırSayısı,
        SUM(a.total_pages) AS ToplamSayfa, 
        SUM(a.used_pages) AS KullanılanSayfa, 
        (SUM(a.total_pages) - SUM(a.used_pages)) AS KullanılmayanSayfa
        ,((cast(SUM(a.used_pages) as float)/cast(SUM(a.total_pages) as float))*100 ) YüzdelikOran
    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
        AND i.OBJECT_ID > 255 
        and   a.total_pages <>'0'
    GROUP BY 
        t.Name, p.Rows
    ORDER BY 
       6  
    

Cevabınız