Aracılığıyla paylaş


sp_createstats (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

CREATE STATISTICS ifadesini, istatistik nesnesinin ilk sütunu olmayan sütunlarda tek sütunlu istatistikler oluşturmak için çağırır. Tek sütunlu istatistikler oluşturmak, histogram sayısını artırır; bu da kardinalite tahminlerini, sorgu planlarını ve sorgu performansını iyileştirebilir. Bir istatistiksel nesnenin ilk sütununda histogram bulunur; Diğer sütunlarda histogram yoktur.

sp_createstats Sorgu yürütme sürelerinin kritik olduğu ve sorgu optimizatorunun tek sütunlu istatistikler oluşturmasını bekleyemediği benchmarking gibi uygulamalar için faydalıdır. Çoğu durumda, sp_createstats; sorgu optimizatoru, seçenek açıkken sorgu planlarını AUTO_CREATE_STATISTICS iyileştirmek için tek sütunlu istatistikler üretir.

İstatistikler hakkında daha fazla bilgi için bkz. İstatistikler. Tek sütunlu istatistikler üretmesiyle ilgili daha fazla bilgi için ALTER DATABASE SET seçeneklerindeki seçeneğe bakınızAUTO_CREATE_STATISTICS.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_createstats
    [ [ @indexonly = ] 'indexonly' ]
    [ , [ @fullscan = ] 'fullscan' ]
    [ , [ @norecompute = ] 'norecompute' ]
    [ , [ @incremental = ] 'incremental' ]
[ ; ]

Arguments

[ @indexonly = ] 'sadece indeks'

Sadece mevcut bir indeksdeki sütunlarda ve herhangi bir indeks tanımında ilk sütun olmayan sütunlarda istatistikler oluşturur. @indexonly , char(9)'dur ve varsayılan olarak ' NOdir.

[ @fullscan = ] 'tam tarama'

CREATE STATISTICS ifadesini ve bu FULLSCAN seçeneği kullanır. @fullscan , char(9)'dur ve varsayılan olarak ' NOdir.

[ @norecompute = ] 'norecompute'

CREATE STATISTICS ifadesini ve bu NORECOMPUTE seçeneği kullanır. @norecomputechar(12)'dir ve varsayılan olarak .NO

[ @incremental = ] 'kademeli'

CREATE STATISTICS ifadesini ve bu INCREMENTAL = ON seçeneği kullanır. @incremental , char(12)'dir ve varsayılan olarak NO.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Her yeni istatistik nesnesi, oluşturulduğu sütunla aynı isme sahiptir.

Açıklamalar

sp_createstats mevcut bir istatistik nesnesinin ilk sütununda istatistikler oluşturmaz veya güncellemez. Bu, indeksler için oluşturulan ilk istatistik sütununu, seçenekle AUTO_CREATE_STATISTICS oluşturulan tek sütunlu istatistiklere sahip sütunları ve ifadeyle CREATE STATISTICS oluşturulan ilk istatistikli sütunları içerir. sp_createstats devre dışı bırakılmış indekslerin ilk sütunlarında istatistikler oluşturmaz, ancak o sütun başka bir etkin indekste kullanılmadıysa. sp_createstats devre dışı bırakılmış kümelenmiş indeksle tablolarda istatistikler oluşturmaz.

Tablo bir sütun seti içerdiğinde, sp_createstats seyrek sütunlarda istatistik oluşturmaz. Sütun kümeleri ve seyrek sütunlar hakkında daha fazla bilgi için bkz. Sütun setleri kullan ve seyrek sütunlar kullan.

Permissions

Sabit db_owner veritabanı rolünde üyelik gerektirir.

Örnekler

A. Tüm uygun sütunlarda tek sütunlu istatistikler oluşturun

Aşağıdaki örnek, mevcut veritabanındaki tüm uygun sütunlar üzerinde tek sütunlu istatistikler oluşturur.

EXECUTE sp_createstats;
GO

B. Tüm uygun endeks sütunlarında tek sütunlu istatistikler oluşturun

Aşağıdaki örnek, zaten bir indekste bulunan ve indeksin ilk sütunu olmayan tüm uygun sütunlar için tek sütunlu istatistikler oluşturur.

EXECUTE sp_createstats 'indexonly';
GO