Bagikan melalui


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.

Konvensi sintaks transact-SQL

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