sp_statistics (T-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan daftar semua indeks dan statistik pada tabel atau tampilan terindeks tertentu.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse  

sp_statistics [ @table_name = ] 'table_name'    
     [ , [ @table_owner = ] 'owner' ]   
     [ , [ @table_qualifier = ] 'qualifier' ]   
     [ , [ @index_name = ] 'index_name' ]   
     [ , [ @is_unique = ] 'is_unique' ]  
     [ , [ @accuracy = ] 'accuracy' ]  

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Argumen

[ @table_name = ] 'table_name'

Menentukan tabel yang digunakan untuk mengembalikan informasi katalog. table_name adalah sysname, tanpa default. Pencocokan pola kartubebas tidak didukung.

[ @table_owner = ] 'owner'

Adalah nama pemilik tabel tabel yang digunakan untuk mengembalikan informasi katalog. table_owner adalah sysname, dengan default NULL. Pencocokan pola kartubebas tidak didukung. Jika owner tidak ditentukan, aturan visibilitas tabel default dari DBMS yang mendasar berlaku.

Di SQL Server, jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, indeks tabel tersebut dikembalikan. Jika owner tidak ditentukan dan pengguna saat ini tidak memiliki tabel dengan yang ditentukan name, prosedur ini mencari tabel dengan yang ditentukan name oleh pemilik database. Jika ada, indeks tabel tersebut dikembalikan.

[ @table_qualifier = ] 'qualifier'

Adalah nama kualifikasi tabel. qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (_qualifier_**.**_owner_**.**_name_). Di SQL Server, parameter ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.

[ @index_name = ] 'index_name'

Adalah nama indeks. index_name adalah sysname, dengan default %. Pencocokan pola kartubebas didukung.

[ @is_unique = ] 'is_unique'

Apakah hanya indeks unik (jika Y) yang akan dikembalikan. is_unique adalah char(1), dengan default N.

[ @accuracy = ] 'accuracy'

Adalah tingkat kardinalitas dan akurasi halaman untuk statistik. accuracy adalah char(1), dengan default Q. Tentukan E untuk memastikan bahwa statistik diperbarui sehingga kardinalitas dan halaman akurat.

Nilai E (SQL_ENSURE) meminta driver untuk mengambil statistik secara tanpa syarat.

Nilai Q (SQL_QUICK) meminta driver untuk mengambil kardinalitas dan halaman hanya jika tersedia dari server. Dalam hal ini, driver tidak memastikan bahwa nilainya saat ini. Aplikasi yang ditulis ke standar Grup Terbuka akan selalu mendapatkan perilaku SQL_QUICK dari driver yang mematuhi ODBC 3.x.

Tataan Hasil

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi tabel. Kolom ini bisa NULL.
TABLE_OWNER nama sysname Nama pemilik tabel. Kolom ini selalu mengembalikan nilai.
TABLE_NAME nama sysname Nama tabel. Kolom ini selalu mengembalikan nilai.
NON_UNIQUE smallint BUKAN NULL.

0 = Unik

1 = Tidak unik
INDEX_QUALIFIER nama sysname Nama pemilik indeks. Beberapa produk DBMS memungkinkan pengguna selain pemilik tabel untuk membuat indeks. Di SQL Server, kolom ini selalu sama dengan TABLE_NAME.
INDEX_NAME nama sysname Adalah nama indeks. Kolom ini selalu mengembalikan nilai.
KETIK smallint Kolom ini selalu mengembalikan nilai:

0 = Statistik untuk tabel

1 = Berkluster

2 = Di-hash

3 = Tidak berkluster
SEQ_IN_INDEX smallint Posisi kolom dalam indeks.
COLUMN_NAME nama sysname Nama kolom untuk setiap kolom TABLE_NAME dikembalikan. Kolom ini selalu mengembalikan nilai.
PEMERIKSAAN karakter(1) Urutan yang digunakan dalam kolaterasi. Dapat berupa:

A = Naik

D = Turun

NULL = Tidak berlaku
CARDINALITY int Jumlah baris dalam tabel atau nilai unik dalam indeks.
HALAMAN int Jumlah halaman untuk menyimpan indeks atau tabel.
FILTER_CONDITION varchar(128) SQL Server tidak mengembalikan nilai.

Mengembalikan Nilai Kode

Tidak ada

Keterangan

Indeks dalam tataan hasil muncul dalam urutan naik menurut kolom NON_UNIQUE, , TYPEINDEX_NAME, dan SEQ_IN_INDEX.

Jenis indeks yang diklusterkan mengacu pada indeks tempat data tabel disimpan dalam urutan indeks. Ini sesuai dengan indeks berkluster SQL Server.

Jenis indeks Hashed menerima pencarian kecocokan atau rentang yang tepat, tetapi pencarian pencocokan pola tidak menggunakan indeks.

Prosedur sp_statistics tersimpan sistem setara dengan SQLStatistics di ODBC. Hasil yang dikembalikan diurutkan berdasarkan NON_UNIQUE, , TYPE, INDEX_NAMEINDEX_QUALIFIER, dan SEQ_IN_INDEX. Untuk informasi selengkapnya, lihat Referensi API ODBC.

Izin

Memerlukan izin SELECT pada skema.

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

Contoh berikut mengembalikan informasi tentang DimEmployee tabel dari AdventureWorks database sampel.

EXEC sp_statistics DimEmployee;  

Lihat juga

Langkah berikutnya