MSSQL Server Index Yapısında Row-Page Count Sayısını Bulma

Bu makalede, SQL Server veritabanı üzerinde bir tabloya ait indeks yapılarında yer alan page count ve row count gibi detaylı bilgileri nasıl görüntüleyebileceğimizi ele alacağız. Özellikle filtrelenmiş indekslerde bu tür bilgiler oldukça önemlidir ve performans analizi açısından değerli ipuçları sunar.

Aşağıda paylaşacağımız sorgu sayesinde, ilgili tablo altında bulunan tüm indekslerin sayfa kullanım bilgilerine, satır sayılarına ve filtre durumlarına ulaşabileceğiz.

SELECT 
    i.index_id, 
    i.name AS index_name, 
    i.type_desc, 
    ps.reserved_page_count, 
    ps.used_page_count,
    ps.reserved_page_count * 8 AS Size_KB,
    ps.row_count AS total_indexed_rows,  -- İndeksin kapsadığı toplam satır sayısı
    CASE 
        WHEN i.filter_definition IS NOT NULL THEN ps.row_count  -- Filtreli indeks ise satır sayısını göster
        ELSE ps.row_count  -- Filtresiz indeks ise toplam satır sayısını göster
    END AS filtered_indexed_rows,  
    i.filter_definition
FROM sys.dm_db_partition_stats ps
INNER JOIN sys.indexes i 
    ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.object_id = OBJECT_ID('Person.Address');

Sorgu Açıklaması

  • index_id / index_name / type_desc: İlgili indeksin kimliği, adı ve türünü gösterir.
  • reserved_page_count ve used_page_count: İndeksin ayırdığı ve aktif olarak kullandığı sayfa sayılarını belirtir.
  • Size_KB: Sayfa sayısı * 8 ile çarpılarak indeksin yaklaşık boyutu kilobayt cinsinden hesaplanır.
  • row_count: İndeksin kapsadığı toplam satır sayısıdır.
  • filter_definition: Eğer indeks filtrelenmişse, buradaki değer NULL olmayacaktır.

Bu sorgu sayesinde hem normal hem de filtrelenmiş indekslerin yapısını analiz edebilir ve veritabanı performansı için kritik olan alanları gözlemleyebilirsiniz.

Not: Yukarıdaki örnekte ‘Person.Address’ tablosu kullanılmıştır. Kendi veritabanınıza göre tablo adını değiştirmeyi unutmayın.

Başka bir makalede görüşmek dileğiyle..

“Gurura kapılarak insanlara burun kıvırma, ortalıkta çalım satarak yürüme; unutma ki Allah gurura kapılıp kendini beğenen hiç kimseyi sevmez.”Lokman-18

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir