Aracılığıyla paylaş


dbcc SHOW_STATISTICS (Transact-SQL)

dbcc SHOW_STATISTICS, bir tablo ya da dizinli görünümgeçerli sorgu en iyi duruma getirme istatistiklerini görüntüler.sorgu iyileştiricisi İstatistikleri kardinalite veya yüksek kaliteli bir sorgu planı oluşturmak sorgu iyileştiricisi sağlar sorgu sonuç satır sayısını tahmin etmek için kullanır.sorgu iyileştiricisi dizin arama işleç dizin tarama işleç yerine bir kaynakdurumunu önlemenin sorgu performansını iyileştirme sorgu planı içinde seçmek için kardinalite tahminleri gibi kullanabilirsiniz-yoğun dizin tarama.

sorgu iyileştiricisi İstatistikleri tablo veya dizinli görünüm için İstatistikler nesnesinde depolar.Bir tabloiçin dizin veya tablo sütunlar listesi istatistikleri nesnesi oluşturulur.İstatistikler nesnesinde ilk anahtarsütun istatistikleri nesne ve yoğunluk vektör içinsütun ölçü çapraz - korelasyon istatistikleri hakkında meta veriler içeren bir başlık, bir histogram değerleri dağılımı ile içerir. Veritabanı Altyapısı Hesaplamak için kardinalite tahminleri herhangi veri istatistikleri nesne.

dbcc SHOW_STATISTICS, üstbilgi, histogram ve İstatistikler nesnesinde saklanan verileri esas yoğunluk vektör görüntüler.Sözdizimi, bir tablo veya bir hedef dizin adı, istatistikleri adı veya sütun adı ile birlikte dizinli görünüm belirtmenizi sağlar.Bu konuda istatistiklerini görüntülemek ve görüntülenen sonuçlaranlamak nasıl açıklar.

Daha fazla bilgi için, bkz. İstatistikler sorgu performansını artırmak için kullanma.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

DBCC SHOW_STATISTICS ( table_or_indexed_view_name , target ) 
[ WITH [ NO_INFOMSGS ] < option > [ , n ] ]
< option > :: =
    STAT_HEADER | DENSITY_VECTOR | HISTOGRAM | STATS_STREAM

Bağımsız değişkenler

  • table_or_indexed_view_name
    tablo ya da dizinli görünüm istatistik bilgileri görüntülenecek adı.

  • target
    Dizin, istatistik veya istatistik bilgileri görüntülenecek sütun adı.target Bir adı varolan bir dizini veya bir tablo ya da dizinli görünüm, bu hedef hakkında istatistik bilgileri istatistikleri döndürülür.target Adı varolan bir sütunve bu sütun otomatik olarak oluşturulan bir istatistik var, bu otomatik oluşturulan istatistikleri hakkındaki bilgileri döndürülür.Otomatik olarak oluşturulan bir istatistik için sütun hedefyoksa 2767 hata iletisi döndürülür.

  • NO_INFOMSGS
    Önem düzeyleri 0 ile 10 arasında bilgi tüm iletileri bastırır.

  • STAT_HEADER | DENSITY_VECTOR | ÇUBUK GRAFİK | STATS_STREAM **,**n ]
    Bir veya daha bu seçeneklerin belirtilmesi deyim belirtilen seçenek veya seçenekler döndürülen sonuç kümesini sınırlandırır.Hiçbir seçenek belirtilmezse, tüm istatistik bilgileri döndürülür.

    stats_stream olanYalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.

Sonuç Kümeleri

Aşağıdaki tablo stat_header belirtildiğinde sonuç kümesi döndürülen sütunlar açıklar.

Sütun adı

Açıklama

Name

İstatistik nesnenin adı.

Updated

Son tarih ve saat istatistikleri güncelleştirildi.stats_dateişlev .

Rows

tablo veya istatistiklerin en son güncelleştirildiği dizinli görünüm satır sayısı.İstatistikler süzülür veya filtre uygulanmış bir dizin karşılık, satır tablosatır sayısından daha az olabilir.Daha fazla bilgi için, bkz. İstatistikler sorgu performansını artırmak için kullanma.

Rows Sampled

Toplam istatistik hesaplamalar için örnek satır sayısı.Satır örneklenen, < , görüntülenen çubuk grafik ve yoğunluğu sonuçlar satırlarıdır örneklenen satırları temel alarak tahmin eder.

Steps

Histogram adımları sayısı.Her adım bir üst sınır sütun değeri ve ardından sütun değerlerini aralık kapsayan.Histogram adımları ilk anahtar sütun istatistikleri üzerinde tanımlanır.Adımları sayısı 200'dür.

Density

1 Hesaplanan / DISTINCT değerler ilk anahtar sütun istatistikleri nesne tüm değerler için histogram sınır değerleri hariç.Bu yoğunluk değeri ' % s'iyileştiricisi sorgu iyileştiricisi tarafından kullanılmaz ve önce sürümleriyle geriye dönük uyumluluk için görüntülenen SQL Server 2008.

Average Key Length

Ortalama değer tüm İstatistikler nesnesinde anahtar sütun başına bayt sayısı.

String Index

Evet istatistikleri nesnesini içeren dize LIKE işleç; kullanan sorgu yüklemler için kardinalite tahminleri artırmak için Özet istatistikleri gösterir Örneğin, WHERE ProductName LIKE '%Bike'.Özet istatistik çubuk grafik ayrı olarak saklanır ve tipinde olursa ilk anahtar sütun istatistikleri nesnesi oluşturulur dize char, varchar, nchar, nvarchar, varchar(max), nvarchar(max), text, veya ntext..

Filter Expression

İstatistikler nesnesinde bulunan tablo satırları alt küme yüklemini.null olmayan filtre uygulanmış istatistikleri =.Filtre uygulanmış yüklemler hakkında daha fazla bilgi için bkz: Filtre uygulanmış dizin tasarım yönergeleri.Filtre uygulanmış istatistikleri hakkında daha fazla bilgi için bkz: İstatistikler sorgu performansını artırmak için kullanma.

Unfiltered Rows

Filtre ifadeuygulamadan önce tablo satır sayısı.Filter Expression , null, Unfiltered Rows eşittir Rows.

Aşağıdaki tablo DENSITY_VECTOR belirtildiğinde sonuç kümesi döndürülen sütunlar açıklar.

Sütun adı

Açıklama

All Density

Yoğunluk ise 1 / DISTINCT değerler.Sonuçları yoğunluğu her önek sütun için İstatistikler nesnesinde, yoğunluk başına bir satır görüntüler.Farklı bir değer sütun değerlerini satır ve sütun önek bazında ayrı bir listesidir.Örneğin, istatistikleri nesnesi (a, b, c) anahtar sütunlar içeriyorsa, bu sütun öneklerinin her değer ayrı listeleri yoğunluğunu sonuçlar bildirin: (a), (a, b) ve (a, b, c).(a, b, c) önekini kullanarak, bu listeleri her bir ayrı değer listesi verilmiştir: (3, 5, 6), (4, 4, 6), (4, 5, 6), (4, 5, 7).(a, b) önekini kullanarak aynı sütun değerlerini bu farklı değer listeleri vardır: (3, 5), (4, 4) ve (4, 5)

Average Length

sütun değerlerini sütun önek listesini depolamak için bayt cinsinden ortalama uzunluğu.Örneğin, listedeki değerlerden (3, 5, 6) her 4 bayt gerektiriyorsa uzunluğu 12 bayttır.

Columns

Önek sütun adları olan All density ve Average length görüntülenir.

Aşağıdaki tablo sonuç kümesi HISTOGRAM seçeneği belirtildiğinde döndürülen sütunlar açıklanmaktadır.

Sütun adı

Açıklama

RANGE_HI_KEY

Bir çubuk grafik adım üst sınır sütun değeri.sütun değeri, bir anahtar değer olarak da adlandırılır.

RANGE_ROWS

Üst sınır dışında bir çubuk grafik adım içinde sütun değeri denk satır sayısı tahmini.

EQ_ROWS

sütun değeri histogram adım üst sınır eşittir satır sayısı tahmini.

DISTINCT_RANGE_ROWS

Üst sınır dışında bir çubuk grafik adım içinde ayrı sütun değeri olan satır sayısı tahmini.

AVG_RANGE_ROWS

Değerleri üst sınır dışında bir çubuk grafik adım içinde yinelenen sütun satır ortalama sayısı (range_rows / DISTINCT_RANGE_ROWS DISTINCT_RANGE_ROWS > 0).

Açıklamalar

Çubuk grafik

Histogram her ayrı değer bir veri kümesitekrarlanma ölçer.sorgu iyileştiricisi bir histogram ilk anahtarsütun sütun değerlerini istatistiksel olarak örnekleme tarafından satırları seçmek istatistikleri nesne veya tablo ya da görünümdeki tüm satırların tam tarama gerçekleştirme sütun değerleri hesaplar. Çubuk grafik bir örneklenen küme satır oluşturulur, saklı toplamları satırların sayısını ve farklı değerler için önem düzeyi tahminleri ve bütün tamsayılar olması gerekmez.

Çubuk grafik oluşturmak için sorgu iyileştiricisi sütun değerlerini sıralar, her ayrı sütun değeri uyan değerleri sayısını hesaplar ve sonra en fazla 200 bitişik histogram adımları sütun değerlerini toplar.Her adımda bir üst sınır sütun değeri ve ardından sütun değerlerini aralık içerir.aralık sınır değerleri kendileri hariç, sınır değerleri arasındaki tüm olası sütun değerlerini içerir.En düşük sıralı sütun değerlerini ilk histogram adım üst sınır değerdir.

Aşağıdaki diyagramda altı adımı ile histogramını gösterir.İlk üst sınır değeri solundaki alan ilk adımdır.

6 adımlı histogram

Her bir çubuk grafik adım için:

  • Kalın satır, üst sınır değeri (RANGE_HI_KEY) ve (eq_rows) oluşur sayısını temsil eder

  • RANGE_HI_KEY düz alan solunda aralık sütun değerlerini ve ortalama sayısını her sütun değeri (avg_range_rows) temsil eder.avg_range_rows ilk histogram adım için her zaman olduğu 0.

  • Noktalı çizgiler toplam aralık (DISTINCT_RANGE_ROWS) farklı değerlerin toplam sayısını ve değerler aralık (range_rows) tahmin etmek için kullanılan örneklenen değerleri temsil eder.sorgu iyileştiricisi range_rows ve DISTINCT_RANGE_ROWS avg_range_rows hesaplamak için kullanır ve örneklenen değerleri depolamaz.

sorgu iyileştiricisi kendi istatistiksel anlamlı değergöre histogram adımları tanımlar.Sınır değerleri arasındaki farkı en üst düzeye histogram adım sayısını en aza indirmek için en büyük farkı algoritması kullanır.Adımları sayısı 200'dür.Çubuk grafik adım sayısını 200'den az sınır noktaları içeren sütunlar için bile ayrı değerlerinin sayısı daha az olabilir.Örneğin, 100 farklı değerlere sahip bir sütun histogram 100'den az sınır noktaları olabilir.

Yoğunluk vektör

sorgu iyileştiricisi yoğunluğunu aynı tablo veya dizinli görünümiçinden birden çok sütun döndüren sorgular için kardinalite tahminleri artırmak için kullanır.Sütun istatistikleri nesnesindeki her önek için bir yoğunluk yoğunluk vektör içerir.Örneğin, İstatistikler nesnesinde anahtar sütun varsa CustomerId, ItemId, Price, yoğunluk, her birinde hesaplanıraşağıdaki sütun önekleri.

Sütun öneki

Hesaplanan yoğunluk

(CustomerId)

Eşleşen değerleri içeren satırlarıCustomerId

(CustomerId, ItemId)

Eşleşen değerleri içeren satırları CustomerId ve ItemId

(CustomerId, ItemId, Price)

Eşleşen değerleri içeren satırları CustomerId, ItemId, ve Price

Kısıtlamalar

dbcc SHOW_STATISTICS, kayma dizinler için istatistikleri sağlamaz.

İzinler

İstatistikleri nesne görüntülemek için kullanıcı tablo sahibi ya da kullanıcı bir üye olmanız sysadmin sabit sunucu rolü, db_owner veritabanı rolü, sabit veya db_ddladmin veritabanı rolüsabit.

Örnekler

A.Tüm istatistik bilgilerini döndürme

Aşağıdaki örnek, tüm istatistik bilgilerini görüntüler AK_Product_Name dizini Person.Address tablo.

USE AdventureWorks2008R2;
GO
DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid);
GO

B.HISTOGRAM seçeneğini belirtme

Aşağıdaki örnek için görüntülenen istatistik bilgilerini sınırlar AK_Product_Name dizini için HISTOGRAM verileri.

USE AdventureWorks2008R2;
GO
DBCC SHOW_STATISTICS ("Person.Address", AK_Address_rowguid) WITH HISTOGRAM;
GO