sp_statistics (T-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan daftar semua indeks dan statistik pada tabel atau tampilan terindeks tertentu.
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
- Prosedur Tersimpan Katalog (Transact-SQL)
- Prosedur Tersimpan Sistem (Transact-SQL)
- Statistik untuk Tabel Memory-Optimized
