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 = Heap |
index_id | int | ID indeks. index_id hanya unik dalam objek .0 = Timbunan 1 = Indeks berkluster > 1 = Indeks nonkluster |
jenis | tinyint | Jenis indeks: 0 = Timbunan 1 = Rowstore terkluster (pohon B) 2 = Rowstore nonkluster (pohon B) 3 = XML 4 = Spasial 5 = Indeks penyimpan kolom berkluster. Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. 6 = Indeks penyimpan kolom nonkluster. Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. 7 = Indeks hash nonkluster. Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. |
type_desc | nvarchar(60) | Deskripsi jenis indeks: TUMPUKAN CLUSTERED TIDAK TERKLUSTER XML SPASIAL PENYIMPAN KOLOM BERKLUSTER - Berlaku untuk: SQL Server 2014 (12.x) dan yang lebih baru. COLUMNSTORE NONCLUSTERED - Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. NONCLUSTERED HASH : Indeks HASH NONCLUSTERED hanya didukung pada tabel yang dioptimalkan memori. Tampilan sys.hash_indexes 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 | tinyint | > 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 memperbolehkan 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 cukup pada tabel. |
compression_delay | int | > 0 = Penundaan kompresi indeks penyimpan kolom 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)), database Azure SQL, 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 memiliki pengoptimalan penyisipan halaman terakhir yang dinonaktifkan. Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), database Azure SQL, dan Azure SQL Managed Instance |
Izin
Visibilitas metadata dalam tampilan katalog terbatas pada securable yang dimiliki pengguna atau di mana pengguna telah diberi beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Contoh
Contoh berikut mengembalikan semua indeks untuk tabel Production.Product
dalam database AdventureWorks2019.
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 (T-SQL)
sys.filegroups (Transact-SQL)
sys.partition_schemes (T-SQL)
Mengkueri FAQ Katalog Sistem SQL Server
OLTP Dalam Memori (Pengoptimalan Dalam Memori)