Membuat statistik
Berlaku untuk: SQL Server 2022 (16.x) Azure SQL Database Azure SQL Managed Instance
Anda dapat membuat statistik pengoptimalan kueri pada satu atau beberapa kolom tabel atau tampilan terindeks di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Untuk sebagian besar kueri, pengoptimal kueri sudah menghasilkan statistik yang diperlukan untuk rencana kueri berkualitas tinggi; dalam beberapa kasus, Anda perlu membuat statistik tambahan.
Pembatasan dan batasan
Sebelum membuat statistik dengan pernyataan CREATE STATISTICS, verifikasi bahwa opsi AUTO_CREATE_STATISTICS diatur pada tingkat database. Ini akan memastikan bahwa pengoptimal kueri terus secara rutin membuat statistik kolom tunggal untuk kolom predikat kueri.
Anda dapat mencantumkan hingga 32 kolom per objek statistik.
Anda tidak dapat menghilangkan, mengganti nama, atau mengubah definisi kolom tabel yang ditentukan dalam predikat statistik yang difilter.
Izin
Mengharuskan pengguna menjadi tabel atau pemilik tampilan terindeks, atau anggota salah satu peran berikut: peran server tetap sysadmin , db_owner peran database tetap, atau peran database tetap db_ddladmin .
Menggunakan SQL Server Management Studio
Di Object Explorer, pilih tanda plus untuk memperluas database tempat Anda ingin membuat statistik baru.
Pilih tanda plus untuk memperluas folder Tabel .
Pilih tanda plus untuk memperluas tabel tempat Anda ingin membuat statistik baru.
Klik kanan folder Statistik dan pilih Statistik Baru....
Properti berikut ini ditampilkan pada halaman Umum dalam kotak dialog Statistik Baru pada Tabel table_name .
Properti Deskripsi Nama Tabel Menampilkan nama tabel yang dijelaskan oleh statistik. Nama Statistik Menampilkan nama objek database tempat statistik disimpan. Kolom Statistik Kisi ini memperlihatkan kolom yang dijelaskan oleh kumpulan statistik ini. Semua nilai dalam kisi bersifat baca-saja. Nama Menampilkan nama kolom yang dijelaskan oleh statistik. Ini bisa berupa satu kolom atau kombinasi kolom dalam satu tabel. Tipe Data Menunjukkan jenis data kolom yang dijelaskan oleh statistik. Ukuran Menampilkan ukuran tipe data untuk setiap kolom. Identitas Menunjukkan kolom identitas saat dicentang. Izinkan NULL Menunjukkan apakah kolom menerima nilai NULL. Tambahkan Tambahkan lebih banyak kolom dari tabel ke kisi statistik. Hapus Hapus kolom yang dipilih dari kisi statistik. Pindahkan ke Atas Pindahkan kolom yang dipilih ke lokasi sebelumnya di kisi statistik. Lokasi di kisi dapat secara substansial mempengaruhi kegunaan statistik. Pindahkan ke Bawah Pindahkan kolom yang dipilih ke lokasi yang lebih baru di kisi statistik. Statistik untuk kolom ini terakhir diperbarui Menunjukkan berapa lama statistik tersebut. Statistik lebih berharga ketika mereka saat ini. Perbarui statistik setelah perubahan besar pada data atau setelah menambahkan data atipikal. Statistik untuk tabel yang memiliki distribusi data yang konsisten perlu diperbarui lebih jarang. Perbarui statistik untuk kolom ini Centang untuk memperbarui statistik saat kotak dialog ditutup. Properti berikut ini memperlihatkan pada halaman Filter dalam kotak dialog Statistik Baru pada Tabel table_name .
Properti Deskripsi Ekspresi Filter Menentukan baris data mana yang akan disertakan dalam statistik yang difilter. Misalnya: Production.ProductSubcategoryID IN ( 1, 2, 3 )
Dalam kotak dialog Statistik Baru pada Tabel table_name, pada halaman Umum, pilih Tambahkan.
Properti berikut ini diperlihatkan dalam kotak dialog Pilih Kolom . Informasi ini bersifat baca-saja.
Properti Deskripsi Nama Menampilkan nama kolom yang dijelaskan oleh statistik. Ini bisa berupa satu kolom atau kombinasi kolom dalam satu tabel. Tipe Data Menunjukkan jenis data kolom yang dijelaskan oleh statistik. Ukuran Menampilkan ukuran tipe data untuk setiap kolom. Identitas Menunjukkan kolom identitas saat dicentang. Izinkan NULL Menunjukkan apakah kolom menerima nilai NULL. Dalam kotak dialog Pilih Kolom , pilih kotak centang atau kotak centang dari setiap kolom yang ingin Anda buat statistiknya lalu pilih OK.
Dalam kotak dialog Statistik Baru pada Tabel table_name , pilih OK.
Menggunakan Transact-SQL
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan.
USE AdventureWorks2022; GO -- Create new statistic object called ContactMail1 -- on the BusinessEntityID and EmailPromotion columns in the Person.Person table. CREATE STATISTICS ContactMail1 ON Person.Person (BusinessEntityID, EmailPromotion); GO
Statistik yang dibuat di atas berpotensi meningkatkan hasil untuk kueri berikut.
USE AdventureWorks2022; GO SELECT LastName, FirstName FROM Person.Person WHERE EmailPromotion = 2 ORDER BY LastName, FirstName; GO