dbcc SHOW_STATISTICS (Transact-sql)

dbcc SHOW_STATISTICS tablo veya dizin oluşturulmuş görünüm için geçerli sorgu performansı istatistikleri görüntüler. Sorgu iyileştirici istatistiklerini önem düzeyi ya da kaliteli bir sorgu planı oluşturmak query optimizer sağlar sorgu sonuç sayısını tahmin etmek için kullanır. Örneğin, sorgu en iyi duruma getiricisi dizin ara işleci dizin tarama işleci yerine sorgu planını, yoğun kaynak dizin tarama kaçınarak sorgu performansını seçmek için önem düzeyi tahminleri kullanabilirsiniz.

Sorgu iyileştirici bir tablo veya dizin oluşturulmuş görünüm istatistikleri İstatistikler nesnesinde depolar. Bir tablo için dizin veya tablo sütunlar listesi istatistikleri nesnesi oluşturulur. Istatistikleri nesnenin istatistikler hakkında meta verileri içeren bir başlık, bir histogram ile değerleri dağıtım istatistikleri nesne ve sütun çapraz korelasyon ölçmek için bir yoğunluk vektör ilk anahtar sütununda içerir. Veritabanı AltyapısıÖnem düzeyi tahminleri herhangi istatistik verileri ile hesaplayabilir.

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

Daha fazla bilgi için, bkz. İstatistikler.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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 veya dizin oluşturulmuş görünüm istatistikleri bilgileri görüntülenecek adı.

  • target
    Dizin, istatistik veya istatistik bilgilerini görüntülemek için sütun adı. Eğer targetVarolan bir dizini bir isimdir ya da bir tablo veya dizin oluşturulmuş görünüm, bu hedef ilgili istatistik bilgileri istatistik döner. Eğer targetadı varolan bir sütun ve bu sütunu 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 hedef yoksa, hata iletisi 2767 döndürülür.

  • NO_INFOMSGS
    0 İle 10 arasında önem derecelerine sahip bilgi tüm iletileri bastırır.

  • STAT_HEADER | DENSITY_VECTOR | ÇUBUK GRAFİK | STATS_STREAM **,**n ]
    Bir veya daha bu seçenekleri belirlemek için belirtilen seçenek veya seçenek deyimi tarafından döndürülen sonuç kümeleri sınırlar. Hiçbir seçenek belirtilmezse, tüm istatistik bilgileri döndürülür.

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

Sonuç Kümeleri

Aşağıdaki tabloda stat_header belirtildiğinde ayarlamak sonuç döndürdü sütunları açıklar.

Sütun adı

Açıklama

Name

Istatistikleri nesnenin adı.

Updated

Tarih ve saat son istatistikleri güncelleştirildi. stats_date fonksiyonu ise bu bilgileri almak için alternatif bir yol.

Rows

Tablo veya dizin oluşturulmuş görünüm istatistikleri son güncelleştirildiği zaman satır sayısı. İstatistikler filtre veya filtre uygulanmış bir dizin karşılık, Satır tablosundaki satır sayısından daha az olabilir. Daha fazla bilgi için bkz:İstatistikler.

Rows Sampled

Toplam istatistik hesaplamalar için örnek satır sayısı. Eğer satır örneklenmiş < satırlar, görüntülenen histogram ve yoğunluğu sonuçlarıdır örneklenen satırları dayalı tahminleri.

Steps

Histogram adımları sayısı. Her adımda bir üst sınır sütun değerinin ardına sütun değerleri aralığını kapsar. Histogram adımları ilk anahtar sütun istatistikleri tanımlanır. Adım sayısı 200'dür.

Density

1 Olarak hesaplanan / distinct valuesistatistikleri nesne ilk anahtar sütunundaki tüm değerler için histogramı sınır değerleri hariç. Bu yoğunluk değeri sorgu en iyi duruma getiricisi 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ğeri Tüm İstatistikler nesnesinde anahtar sütun başına bayt sayısı.

String Index

Evet istatistikleri nesnesini içeren dize özet istatistikler; LIKE işlecini kullanan sorgu yüklemler için önem düzeyi tahminleri artırmak için gösterir Örneğin, WHERE ProductName LIKE '%Bike'. Özet istatistik histogram ayrı olarak saklanır ve türü ne zaman ilk anahtar sütunu istatistikleri nesnesi oluşturulur dize char, varchar, nchar, nvarchar, varchar(max), nvarchar(max), text, ya ntext..

Filter Expression

Yüklemi İstatistikler nesnesinde bulunan bir tablo satır alt ait. null = filtre edilmemiş su istatistikleri. Filtre yüklemler hakkında daha fazla bilgi için bkz: Filtre uygulanmış dizinler oluşturma. Filtre uygulanmış istatistikleri hakkında daha fazla bilgi için bkz: İstatistikler.

Unfiltered Rows

Filtre ifadesi uygulamadan önce tablodaki satır sayısı. Eğer Filter ExpressionNULL, Unfiltered Rowseşittir Rows.

Aşağıdaki tabloda DENSITY_VECTOR belirtildiğinde ayarlamak sonuç döndürdü sütunları açıklar.

Sütun adı

Açıklama

All Density

Yoğunluğu ise 1 / distinct values. Sonuçları yoğunluğu her önek sütun için İstatistikler nesnesinde, yoğunluk başına bir satır görüntüler. Sütun değerlerini satır ve sütun önek başına ayrı bir listesini ayrı bir değerdir. Istatistikleri nesnenin anahtar sütunları (a, b, c) içeriyorsa, değerleri her birinde bu sütun önekleri ayrı listeleri yoğunluğu sonuçları, rapor: (a), (a, b) ve (a, b, c). (a, b, c) önekini kullanarak, bu listelerin her biri ayrı değer listesidir: (3, 5, 6), (4, 4, 6), (4, 5, 6), (4, 5, 7). (a, b) önekiyle aynı sütun değerleri var. Bu farklı değer listeleri: (3, 5), (4, 4) ve (4, 5)

Average Length

Sütun değerlerini sütun önek listesini depolamak için bayt sayısı, ortalama uzunluğu. Listedeki değerlerin (3, 5, 6) her 4 bayt gerektiriyorsa, 12 bayt uzunluğudur.

Columns

Önek sütun adları olan All densityve Average lengthgörüntülenir.

Aşağıdaki tabloda, çubuk grafik seçeneği belirtildiğinde ayarlamak sonuç döndürdü sütunları açıklar.

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ğeri 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 düşen satır sayısı tahmini.

EQ_ROWS

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

DISTINCT_RANGE_ROWS

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

AVG_RANGE_ROWS

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

Açıklamalar

Çubuk grafik

Çubuk grafik bir veri kümesindeki her bir ayrı değeri için olay sıklığı ölçer. Sorgu en iyi duruma getiricisi istatistiksel örnekleme satırları veya tablo ya da görünümdeki tüm satırları tam tarama yaparak sütun değerleri seçerek histogram istatistikleri nesne ilk anahtar sütun sütun değerleri hesaplar. Histogram örneklenen satır kümesinden oluşturduysanız, satır sayısını ve farklı değerleri saklı toplamlarını tahmin edilmektedir ve bütün tamsayılar olması gerekmez.

Çubuk grafik oluşturmak için query optimizer sütun değerlerini sıralar, her ayrı sütun değeri ile eşleşen değerleri hesaplar ve ardından en çok 200 bitişik histogram adımları sütun değerlerini toplar. Her adımda bir üst sınır sütun değerinin ardına sütun değerleri bir dizi içerir. Aralık arasında sınır değerleri, sınır değerleri kendileri hariç tüm olası sütun değerlerini içerir. En düşük sıralı sütun değerleri ilk çubuk grafik adım üst sınır değerdir.

Aşağıdaki çizimde, bir histogram ile altı adımı gösterir. İlk adım ilk üst sınır değeri solundaki alandır.

ms174384.a0ce6714-01f4-4943-a083-8cbd2d6f617a(tr-tr,SQL.110).gif

Her ç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 katı alan sol sütun değerleri ve ortalama sayısını her sütun değeri (avg_range_rows) temsil eder. avg_range_rows ilk bir çubuk grafik adım için her zaman olduğu 0.

  • Noktalı çizgiler (DISTINCT_RANGE_ROWS) aralığındaki ayrı değerleri toplam sayısı ve toplam sayısı (range_rows) aralığındaki değerleri tahmin etmek için kullanılan örnek değerleri temsil eder. Query optimizer range_rows DISTINCT_RANGE_ROWS avg_range_rows hesaplamak için kullanır ve örneklenen değerleri saklamaz.

Query optimizer, kendi istatistiksel öneme bağlı olarak histogram adımları tanımlar. Sınır değerleri arasındaki farkı maksimize ederken histogram adım sayısını en aza indirmek için bir maksimum fark algoritması kullanır. Adım sayısı 200'dür. Çubuk grafik adım sayısını bile az 200 sınır noktaları içeren sütunlar için farklı değerler sayısından daha az olabilir. Örneğin, 100 farklı değerler içeren bir sütun histogram ile 100'den az sınır noktaları olabilir.

Yoğunluk vektör

Query optimizer yoğunlukları aynı tablo veya dizin oluşturulmuş görünüm birden çok sütun döndüren sorgular için önem düzeyi tahminleri artırmak için kullanır. Yoğunluk vektör bir yoğunluk her önek sütun istatistikleri nesne içerir. Örneğin, İstatistikler nesnesinde anahtar sütunlar varsa CustomerId, ItemId, Price, yoğunluğu her biri aşağıdaki sütun önekleri hesaplanır.

Sütun öneki

Hesaplanan yoğunluğu

(CustomerId)

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

(CustomerId, ItemId)

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

(CustomerId, ItemId, Price)

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

Kısıtlamalar

dbcc SHOW_STATISTICS istatistikleri sağlamaz kayma ya da columnstore dizinler.

İzinler

Istatistikleri nesnenin görüntülemek için kullanıcı tablonun sahibi gerekir veya kullanıcı bir üyesi olmanız sysadminsabit sunucu rolü, db_ownersabit veritabanı rolü, ya da db_ddladminsabit veritabanı rolü.

Örnekler

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

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

USE AdventureWorks2012;
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 HISTOGRAM verileri dizin.

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

Ayrıca bkz.

Başvuru

Index (Transact-sql) oluştur

İstatistikler (Transact-sql) oluştur

İstatistikler (Transact-sql) bırak

sp_autostats (Transact-sql)

sp_createstats (Transact-sql)

stats_date (Transact-sql)

UPDATE STATISTICS (Transact-SQL)

Kavramlar

İstatistikler