Aracılığıyla paylaş


güncelleştirme istatistikleri (Transact-SQL)

Güncelleştirmelerin, dizinli görünüm veya tablo en iyi duruma getirme istatistiklerini sorgula.Varsayılan değer olarak, sorgu iyileştiricisi zaten bir sorgu planını artırmanın gerektiği gibi istatistikleri güncelleştirir; bazı durumlarda güncelleştirme istatistikleri veya saklı yordam sorgu performansı artırabilir sp_updatestats istatistikleri varsayılan güncelleştirmeler daha sık güncelleştirmek için.

Istatistikleri güncelleştirme sorguları, güncel istatistikleri ile derleme sağlar.Ancak, istatistikleri güncelleştirme sorguları yeniden derlemek neden olur.Sorgu planları ve sorguları yeniden süresini artırma arasında bir performans tradeoff olmadığından istatistikleri sık sık güncelleştirme değil öneririz.Belirli bileşimleri uygulamanıza üzerinde bağlıdır.

güncelleştirme istatistikleri, kullanıldığı durumlar da dahil olmak üzere, istatistikleri hakkında daha fazla bilgi için bkz: Sorgu performans geliştirme için istatistikleri'ni kullanma.

Topic link iconTransact-SQL sözdizimi kuralları

UPDATE STATISTICS table_or_indexed_view_name 
    [ 
        { 
            { index_or_statistics__name }
          | ( { index_or_statistics_name } [ ,...n ] ) 
                }
    ] 
    [    WITH 
        [ 
            [ FULLSCAN ] 
            | SAMPLE number { PERCENT | ROWS } ] 
            | RESAMPLE 
            | <update_stats_stream_option> [ ,...n ]
        ] 
        [ [ , ] [ ALL | COLUMNS | INDEX ] 
        [ [ , ] NORECOMPUTE ] 
    ] ;

<update_stats_stream_option> ::=
    [ STATS_STREAM = stats_stream ]
    [ ROWCOUNT = numeric_constant ]
    [ PAGECOUNT = numeric contant ]

Bağımsız değişkenler

  • table_or_indexed_view_name
    Tablo veya dizinli görünüm için ad güncelleştirme istatistikleri üzerinde.

  • index_or_statistics_name
    Istatistikleri güncelleştirmek için dizinin veya güncelleştirmek için bu istatistikleri adını adıdır.If index_or_statistics_name , sorgu iyileştiricisi tabloya ilişkin tüm istatistikleri güncelleştirir veya Görünüm dizin belirtilmedi. Bu, STATISTICS CREATE deyim, tek sütunlu istatistikleri AUTO_CREATE_STATISTICS açıkken oluşturulan kullanılarak oluşturulan istatistikleri ve dizinler için oluşturulan istatistikleri içerir.

    AUTO_CREATE_STATISTICS hakkında daha fazla bilgi için bkz: DATABASE küme seçenekleri (Transact-SQL) ALTER. Bir tablo veya Görünüm tüm dizinleri görüntülemek için sp_helpindex.

  • fullscan
    Istatistikleri hesaplamak için tablo veya dizinli görünüm, tüm satırları'nı taranıyor.100 PERCENT FULLSCAN ve örnek aynı sonuçlar vardır.FULLSCAN ile örnek seçeneği kullanılamaz.

  • Örneknumber {YÜZDE | SATIR}
    Tablo ya da dizinli görünüm istatistiklerini güncelleştirdiğinde kullanmak sorgu iyileştiricisi için yaklaşık yüzde ya da satır sayısını belirtir.PERCENT için number 100'den ve SATıRSAY, 0 olabilir number toplam satır sayısı, 0 olabilir. Gerçek bir yüzde ya da satır sayısını yüzde veya sayı, belirtilen sorgu iyileştiricisi örnekleri eşleşmeyebilir.Örneğin, sorgu iyileştiricisi, veri sayfasındaki tüm satırların tarar.

    ÖRNEK, varsayılan örnekleme üzerinde esas sorgu planını olmayan özel durumlar için yararlıdır.Çoğu durumda, sorgu iyileştiricisi istatistiksel olarak önemli örnek boyutu, varsayılan olarak belirler ve örnekleme kullanır çünkü örnek yüksek kaliteli sorgu planları oluşturmak için gerektiği şekilde belirtmek gerekli değildir.

    Örnek FULLSCAN seçeneğiyle kullanılamaz.Örnek kendisi FULLSCAN belirtildiğinde, sorgu iyileştiricisi örneklenen verilerini kullanır ve örnek boyutu, varsayılan olarak hesaplar.

    0 PERCENT ya da 0 SATıRSAY belirterek karşı öneririz.0 PERCENT veya SATıRSAY belirtilen istatistik nesnesi güncelleştirilir ancak istatistikleri veri içermiyor.

  • YENİDEN ÖRNEKLEME
    Her bir istatistik, en son örnek hızı kullanarak güncelleştirin.

    Yeniden ÖRNEKLEME kullanarak bir tablo tam taramada neden olabilir.Örneğin, dizinler için istatistikleri tablo tam tarama, örnek hızı için kullanın.(Örnek, FULLSCAN, yeniden ÖRNEKLEME) örnek seçeneklerden hiçbiri belirtildiğinde, sorgu iyileştiricisi verileri örnekler ve örnek boyutu, varsayılan olarak hesaplar.

  • TÜM | SÜTUNLARI | DİZİNİ
    Tüm varolan istatistikleri, bir veya daha çok sütun üzerinde oluşturulan istatistikleri ve dizinler için oluşturulan istatistikleri güncelleştirin.Seçeneklerin hiçbiri belirtilmezse, güncelleştirme istatistikleri deyim, tablo veya dizinli görünüm tüm istatistikleri güncelleştirir.

  • norecompute
    Otomatik istatistik güncelleştirme seçeneğini, AUTO_UPDATE_STATISTICS, belirtilen istatistik devre dışı bırak.Bu seçenek belirtilmezse, sorgu iyileştiricisi bu istatistikleri güncelleştirme işlemini tamamlar ve gelecekteki güncelleştirmelerin devre dışı bırakır.

    AUTO_UPDATE_STATISTICS seçeneği davranışı yeniden etkinleştirmek için , güncelleştirme istatistikleri, NORECOMPUTE seçeneği olmadan yeniden çalıştırın veya çalıştırma sp_autostats.

    Uyarı

    Bu seçenek kullanılarak suboptimal sorgu planı oluşturabilir.Bu seçenek gelişigüzel, kullanmanız önerilir ve yalnızca bir tam bir sistem yöneticisi tarafından.

    AUTO_STATISTICS_UPDATE seçeneği hakkında daha fazla bilgi için bkz: DATABASE küme seçenekleri (Transact-SQL) ALTER. Devre dışı bırakma ve istatistikleri güncelleştirmeleri yeniden hakkında daha fazla bilgi için bkz: Sorgu performans geliştirme için istatistikleri'ni kullanma.

  • <update_stats_stream_option>
    Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

Remarks

güncelleştirme istatistikleri kullanılacağı durumlar

güncelleştirme istatistikleri kullanma hakkında daha fazla bilgi için bkz: Sorgu performans geliştirme için istatistikleri'ni kullanma.

Tüm istatistikleri ile sp_updatestats güncelleştiriliyor

Saklı yordam veritabanındaki tüm kullanıcı tanımlı ve iç tablolar için güncelleştirme istatistikleri hakkında daha fazla bilgi için bkz sp_updatestats (Transact-SQL). Örneğin, aşağıdaki komut veritabanı için tüm istatistikleri sp_updatestats çağırır.

EXEC sp_updatestats

Son güncelleştirme istatistikleri belirleniyor

Istatistiklerin en son güncelleştirildiği belirlemek için stats_date işlev.

İzinler

Tablo veya Görünüm ALTER iznine gerek duyar.

Örnekler

C.Tüm istatistikleri, üzerinde güncelleştirme bir tablo

Aşağıdaki örnek, üzerindeki tüm indeksler istatistiklerini güncelleştirir SalesOrderDetail TABLO.

b.Bir dizin için istatistikleri güncelleştirin.

Aşağıdaki örnek istatistiklerini güncelleştirir AK_SalesOrderDetail_rowguid dizinin SalesOrderDetail TABLO.

c.Yüzde 50'sinin örnekleme kullanarak güncelleştirme istatistikleri

Aşağıdaki örnek oluşturur ve ardından da istatistiklerini güncelleştirir Name ve ProductNumber sütunlarda Product TABLO.

d.Istatistikleri FULLSCAN ve NORECOMPUTE kullanarak güncelleştirme

Aşağıdaki örnek güncelleştirmelerin Products istatistikler, Product Tablo, tüm satırları, tam bir taramayı zorlar Product Otomatik istatistik için kapatır ve tablo Products Statistics.

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Düzeltmeler, kesinliği artırmak için belge boyunca.

Konu başlığı yeni istatistikler içerik gösterir Sorgu performans geliştirme için istatistikleri'ni kullanma.