sp_createstats (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure 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 digunakan sp_createstats
; pengoptimal kueri menghasilkan statistik kolom tunggal seperlunya untuk meningkatkan rencana kueri saat AUTO_CREATE_STATISTICS
opsi aktif.
Untuk informasi selengkapnya tentang statistik, lihat Statistik. Untuk informasi selengkapnya tentang menghasilkan statistik kolom tunggal, lihat AUTO_CREATE_STATISTICS
opsi di opsi ALTER DATABASE SET.
Sintaks
sp_createstats
[ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[ , [ @incremental = ] 'incremental' ]
[ ; ]
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), dengan default NO
.
[ @fullscan = ] 'fullscan'
Menggunakan pernyataan CREATE STATISTICS dengan FULLSCAN
opsi . @fullscan adalah char(9), dengan default NO
.
[ @norecompute = ] 'norecompute'
Menggunakan pernyataan CREATE STATISTICS dengan NORECOMPUTE
opsi . @norecompute adalah char(12), dengan default NO
.
[ @incremental = ] 'inkremental'
Menggunakan pernyataan CREATE STATISTICS dengan INCREMENTAL = ON
opsi . @incremental adalah char(12), dengan default NO
.
Mengembalikan nilai kode
0
(berhasil) 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 AUTO_CREATE_STATISTICS
opsi, dan kolom pertama statistik yang dibuat dengan CREATE STATISTICS
pernyataan. 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 terkluster 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