DBCC SHOWCONTIG Komutu ?

Reading Time: 3 minutes

Merhaba Sevgili Arkadaşlar ,

Bugün Sizlere DBCC SHOWCOUNTING Komutu ne işe yarar ve nasıl kullanırız onu göstereceğim,

Tablo üzerinde Veri ve Index üzerinde ki bölünmeleri , sayfaların dolu olup olmadığı gibi bilgileri bu komut sayesinde öğrenebiliriz.

Peki şimdi o zaman örnek üzerinden komutumuzun nasıl çalıştığını adım adım görelim …

İlk önce işlem yapacağımız test database ‘imizi oluşturalım .

Daha sonra bu DB ‘mizin içerisine SQL_TÜRKİYE_TEST adında tablomuzu oluşturalım .

Tablomuz üzerinde Indexlerimizi oluşturalım ;

Bunun akabinde Tablomuza veri basalım  ….

Tablomuza aşağıda ki komut ile baktığımız da kaç adet veri olduğunu görelim …

Tablomuzda 19999 adet kayıt olmaktadır. Şimdi ise geldik konumuzun esas amacına . DBCC SHOWCOUNTIG komutumuz ile tablo üzerinde istediğimiz ğarçalana doluluk oranları gibi bilgilere erişmeye çalışacağız.

KOMUT :

veya

 

Çıkan sonuç bizim tablomuz üzerinde aşağıdaki gibidir ;

dbccshowcountig

 

Index ID : Index ‘imizin aldığı ID değerini verir . Hangi Index ‘imize ait veriler olduğunu buradan anlayabiliriz.

Aşağıdaki Script ‘e yukarıda komutun soncunda ki verileri girdiğimizde hangi Index olduğunu öğrenebiliriz.

veya sadece object_id yi girip tablo üzerinde ki tüm indexlerin Id ve diğer bilgilerine erişebilirisniz. Aşağıda gösterdiğim gibi ;

Gelelim çıkan diğer bilgiler ne işimize yarıyor ona ;

– Page Scanned                                    :  Tablo veya indexe ait page sayısını gösterir. Fragmantasyon olması durumunda defrag işleminden sonra bu sayının düşmesi beklenir.

– Extend Scanned                               :  Extend sayımızı bize vermektedir. Her extent içerisinde 8 adet page bulunur. Bu ifadenin karşısındaki rakam “Pages Scanned / 8¨ sonucundan büyük çıkarsa veritabanı dosyasında fragmante oluştuğu söylenebilir.

– Extend Switches                              : Extend sayfalarında dolaşma sayısını bize gösterir. SQL Server’in bir tablo veya indexi tararken bir extent’ten diğerine kaç kere atladığını belirtir. Bu rakamın taranılmış extent sayısından 1 eksik olması beklenir. Rakamın farklı çıkması Fragmantasyon sorunu olduğunu gösterir. Bu değerin “Extents Scanned” değerinden 1 eksik olması SQL Server’in tarama esnasında ilk extent’i bir ‘extent swith’ olarak saymamasından kaynaklanmaktadır.

– Avg. Pages per Extent                   :  Sayfa zinciri içindeki her bir extend içinde bulunan sayfaların sayısı. “Pages Scanned / Extents Scanned” bölümüne eşit olup extent içerisindeki ortalama page sayısını verir. Çok sayfalı veritabanlarında bu sayının 8′e yakın olması beklenir. Bu sayı 8′den küçük ise Fragmantasyon söz konusu olduğunu söyleyebiliriz

– Scan Density                                      :   Fragmantasyon sorunun en belirgin göstergeci olup {6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}90-{6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}100 arasında bir değer olması beklenir. 100′den küçük olması durumunda defrag işlemine ihtiyaç duyulduğunu anlamalıyız.

 – Logical Scan Fragmentation      : Mantıksal olarak bulunması gereken yerde olmayan page’lerin oranını gösterir. Değerin {6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}1′in altında olması beklenir. 1′den ne kadar fazlaysa o kadar yoğunlukta fragmentation oluştuğunu bilmeliyiz.

– Extent Scan Fragmentation : Extent ’ler arasındaki boşluğun yüzdeliği olup 0 olması beklenir.

– Avg. Bytes Free per Page : Sayfalardaki ortalama boş alanı belirtir. Rakamlar çok yüksek olması çok az dolu page ’in olduğu anlamına gelir. Burada row ’lardaki kayıtların büyüklüğü önemli rol oynar.
– Avg. Page Density (full) : Önceki değerin yüzdelik gösterimidir. Yüksek yüzdelik  ({6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}90-{6189a1005e4f6dc613b8beb03d694ce50f0902974162d6a7dea944a970422cc9}100) idealdir. Düşük yüzde değeri fragmentasyon olduğu anlamına gelir.
Bu değerleri göz önünde bulundurarak tablo veya indeksleri defrag edip etmeyeceğimize karar verebiliriz. Defrag işleminin temel mantığı tablo üstündeki indeksleri yeniden düzenlemektir.

İyi Çalışmalar.

One Reply to “DBCC SHOWCONTIG Komutu ?”

Leave a Reply

Your email address will not be published. Required fields are marked *