Bagikan melalui


sp_statistics (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

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

Konvensi sintaks transact-SQL

Sintaksis

sp_statistics
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @index_name = ] N'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 = ] N'table_name'

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

[ @table_owner = ] N'table_owner'

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 sistem manajemen database (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 = ] N'table_qualifier'

Nama kualifikasi tabel. @table_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 = ] N'index_name'

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 string kosong.

[ @accuracy = ] 'akurasi'

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.

  • E (SQL_ENSURE) meminta driver untuk secara tidak bersyarat mengambil statistik.

  • 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 selalu mendapatkan SQL_QUICK perilaku dari driver yang mematuhi ODBC 3.x.

Tataan hasil

Nama kolom Jenis data Deskripsi
TABLE_QUALIFIER nama sysname Nama kualifikasi tabel. Kolom ini bisa berupa 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 Tidak dapat diubah ke 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 TABLE_NAMEdengan .
INDEX_NAME nama sysname Nama indeks. Kolom ini selalu mengembalikan nilai.
TYPE smallint Kolom ini selalu mengembalikan nilai:

0 = Statistik untuk tabel
1 = Berkluster
2 = Di-hash
3 = Tidak terkluster
SEQ_IN_INDEX smallint Posisi kolom dalam indeks.
COLUMN_NAME nama sysname Nama kolom untuk setiap kolom yang TABLE_NAME dikembalikan. Kolom ini selalu mengembalikan nilai.
COLLATION 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.
PAGES 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 berkluster mengacu pada indeks tempat data tabel disimpan dalam urutan indeks. Nilai 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 oleh NON_UNIQUE, , TYPE, INDEX_NAMEINDEX_QUALIFIER, dan SEQ_IN_INDEX. Untuk informasi selengkapnya, lihat Referensi ODBC.

Izin

SELECT Memerlukan izin 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;