sp_createstats (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Memanggil pernyataan CREATE STATISTICS untuk membuat statistik kolom tunggal pada kolom yang belum menjadi kolom pertama dalam objek statistik. Membuat statistik kolom tunggal meningkatkan jumlah histogram, yang dapat meningkatkan perkiraan kardinalitas, rencana kueri, dan performa kueri. Kolom pertama objek statistik memiliki histogram; kolom lain tidak memiliki histogram.

sp_createstats berguna untuk aplikasi seperti tolok ukur saat waktu eksekusi kueri sangat penting dan tidak dapat menunggu pengoptimal kueri menghasilkan statistik kolom tunggal. Dalam kebanyakan kasus, tidak perlu menggunakan sp_createstats; pengoptimal kueri menghasilkan statistik kolom tunggal seperlunya untuk meningkatkan rencana kueri saat opsi AUTO_CREATE_STATISTICS aktif.

Untuk informasi selengkapnya tentang statistik, lihat Statistik. Untuk informasi selengkapnya tentang menghasilkan statistik kolom tunggal, lihat opsi AUTO_CREATE_STATISTICS di Opsi ALTER DATABASE SET (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaks

  
sp_createstats   
    [   [ @indexonly =   ] { 'indexonly'   | 'NO' } ]   
    [ , [ @fullscan =    ] { 'fullscan'    | 'NO' } ]   
    [ , [ @norecompute = ] { 'norecompute' | 'NO' } ]  
    [ , [ @incremental = ] { 'incremental' | 'NO' } ]  

Argumen

[ @indexonly = ] 'indexonly' Membuat statistik hanya pada kolom yang berada dalam indeks yang ada dan bukan kolom pertama dalam definisi indeks apa pun. indexonly adalah char(9). Defaultnya adalah TIDAK.

[ @fullscan = ] 'fullscan'Menggunakan pernyataan CREATE STATISTICS dengan opsi FULLSCAN. fullscan adalah char(9). Defaultnya adalah TIDAK.

[ @norecompute = ] 'norecompute'Menggunakan pernyataan CREATE STATISTICS dengan opsi NORECOMPUTE. norecompute adalah char(12). Defaultnya adalah TIDAK.

[ @incremental = ] 'incremental'Menggunakan pernyataan CREATE STATISTICS dengan opsi INCREMENTAL = ON. Inkremental adalah char(12). Defaultnya adalah TIDAK.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Tataan Hasil

Setiap objek statistik baru memiliki nama yang sama dengan kolom tempat objek dibuat.

Keterangan

sp_createstats tidak membuat atau memperbarui statistik pada kolom yang merupakan kolom pertama dalam objek statistik yang ada; Ini termasuk kolom pertama statistik yang dibuat untuk indeks, kolom dengan statistik kolom tunggal yang dihasilkan dengan opsi AUTO_CREATE_STATISTICS, dan kolom pertama statistik yang dibuat dengan pernyataan CREATE STATISTICS. sp_createstats tidak membuat statistik pada kolom pertama indeks yang dinonaktifkan kecuali kolom tersebut digunakan dalam indeks lain yang diaktifkan. sp_createstats tidak membuat statistik pada tabel dengan indeks berkluster yang dinonaktifkan.

Saat tabel berisi kumpulan kolom, sp_createstats tidak membuat statistik pada kolom jarang. Untuk informasi selengkapnya tentang kumpulan kolom dan kolom jarang, lihat Menggunakan Kumpulan Kolom dan Menggunakan Kolom Jarang.

Izin

Memerlukan keanggotaan dalam peran database tetap db_owner.

Contoh

J. Membuat statistik kolom tunggal pada semua kolom yang memenuhi syarat

Contoh berikut membuat statistik kolom tunggal pada semua kolom yang memenuhi syarat dalam database saat ini.

EXEC sp_createstats;  
GO  

B. Membuat statistik kolom tunggal pada semua kolom indeks yang memenuhi syarat

Contoh berikut membuat statistik kolom tunggal pada semua kolom yang memenuhi syarat yang sudah ada dalam indeks dan bukan kolom pertama dalam indeks.

EXEC sp_createstats 'indexonly';  
GO  

Lihat Juga

Statistik
MEMBUAT STATISTIK (Transact-SQL)
UBAH Opsi SET DATABASE (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
PERBARUI STATISTIK (Transact-SQL)
Prosedur Tersimpan Mesin Database (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)