sys.indexes (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Berisi baris per indeks atau tumpukan objek tabular, seperti tabel, tampilan, atau fungsi bernilai tabel.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
object_id | int | ID objek tempat indeks ini berada. |
nama | nama sysname | Nama indeks. name hanya unik dalam objek.NULL = Timbunan |
index_id | int | ID indeks. index_id hanya unik dalam objek.0 = Timbunan 1 = Indeks berkluster > 1 = Indeks nonclustered |
jenis | kecil | Jenis indeks: 0 = Timbunan 1 = Rowstore berkluster (pohon B) 2 = Rowstore nonclustered (B-tree) 3 = XML 4 = Spasial 5 = Indeks penyimpan kolom berkluster. Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. 6 = Indeks penyimpan kolom tidak terkluster. Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. 7 = Indeks hash nonclustered. Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. |
type_desc | nvarchar(60) | Deskripsi jenis indeks: HEAP CLUSTERED TIDAK TERKLUSTER XML SPASIAL COLUMNSTORE BERKLUSTER - Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. NONCLUSTERED COLUMNSTORE - Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. NONCLUSTERED HASH : Indeks HASH NONCLUSTERED hanya didukung pada tabel yang dioptimalkan memori. sys.hash_indexes Tampilan menunjukkan indeks hash saat ini dan properti hash. Untuk informasi selengkapnya, lihat sys.hash_indexes (Transact-SQL). Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. |
is_unique | bit | 1 = Indeks unik. 0 = Indeks tidak unik. Selalu 0 untuk indeks penyimpan kolom berkluster. |
data_space_id | int | ID ruang data untuk indeks ini. Ruang data adalah grup file atau skema partisi. 0 = object_id adalah fungsi bernilai tabel atau indeks dalam memori. |
ignore_dup_key | bit | 1 = IGNORE_DUP_KEY AKTIF. 0 = IGNORE_DUP_KEY NONAKTIF. |
is_primary_key | bit | 1 = Indeks adalah bagian dari batasan KUNCI PRIMER. Selalu 0 untuk indeks penyimpan kolom berkluster. |
is_unique_constraint | bit | 1 = Indeks adalah bagian dari batasan UNIK. Selalu 0 untuk indeks penyimpan kolom berkluster. |
fill_factor | kecil | > 0 = persentase FILLFACTOR yang digunakan saat indeks dibuat atau dibangun kembali. 0 = Nilai default Selalu 0 untuk indeks penyimpan kolom berkluster. |
is_padded | bit | 1 = PADINDEX AKTIF. 0 = PADINDEX NONAKTIF. Selalu 0 untuk indeks penyimpan kolom berkluster. |
is_disabled | bit | 1 = Indeks dinonaktifkan. 0 = Indeks tidak dinonaktifkan. |
is_hypothetical | bit | 1 = Indeks bersifat hipotetis dan tidak dapat digunakan langsung sebagai jalur akses data. Indeks hipotetis menyimpan statistik tingkat kolom. 0 = Indeks tidak hipotetis. |
allow_row_locks | bit | 1 = Indeks memungkinkan kunci baris. 0 = Indeks tidak mengizinkan kunci baris. Selalu 0 untuk indeks penyimpan kolom berkluster. |
allow_page_locks | bit | 1 = Indeks memungkinkan kunci halaman. 0 = Indeks tidak mengizinkan kunci halaman. Selalu 0 untuk indeks penyimpan kolom berkluster. |
has_filter | bit | 1 = Indeks memiliki filter dan hanya berisi baris yang memenuhi definisi filter. 0 = Indeks tidak memiliki filter. |
filter_definition | nvarchar(maks) | Ekspresi untuk subset baris yang disertakan dalam indeks yang difilter. NULL untuk heap, indeks yang tidak difilter, atau izin yang tidak mencukup pada tabel. |
compression_delay | int | > 0 = Penundaan pemadatan indeks penyimpan kolom yang ditentukan dalam hitungan menit. NULL = Penundaan kompresi grup baris indeks penyimpan kolom dikelola secara otomatis. |
suppress_dup_key_messages | bit | 1 = Indeks dikonfigurasi untuk menekan pesan kunci duplikat selama operasi pembangunan ulang indeks. 0 = Indeks tidak dikonfigurasi untuk menekan pesan kunci duplikat selama operasi pembangunan ulang indeks. Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2017 (14.x)), Azure SQL Database, dan Azure SQL Managed Instance |
auto_created | bit | 1 = Indeks dibuat oleh penyetelan otomatis. 0 = Indeks dibuat oleh pengguna. Berlaku untuk: Azure SQL Database |
optimize_for_sequential_key | bit | 1 = Indeks mengaktifkan pengoptimalan penyisipan halaman terakhir. 0 = Nilai default. Indeks menonaktifkan pengoptimalan penyisipan halaman terakhir. Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database, dan Azure SQL Managed Instance |
Izin
Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Contoh
Contoh berikut mengembalikan semua indeks untuk tabel Production.Product
dalam database AdventureWorks2022.
SELECT i.name AS index_name
,i.type_desc
,is_unique
,ds.type_desc AS filegroup_or_partition_scheme
,ds.name AS filegroup_or_partition_scheme_name
,ignore_dup_key
,is_primary_key
,is_unique_constraint
,fill_factor
,is_padded
,is_disabled
,allow_row_locks
,allow_page_locks
FROM sys.indexes AS i
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0 AND i.index_id <> 0
AND i.object_id = OBJECT_ID('Production.Product');
GO
Langkah berikutnya
Tampilan Katalog Objek (Transact-SQL)
Tampilan Katalog (Transact-SQL)
sys.index_columns (T-SQL)
sys.xml_indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.key_constraints (Transact-SQL)
sys.filegroups (Transact-SQL)
sys.partition_schemes (T-SQL)
Mengkueri TANYA JAWAB Umum Katalog Sistem SQL Server
In-Memory OLTP (Pengoptimalan In-Memory)