INDEXPROPERTY (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengembalikan nilai properti indeks atau statistik bernama dari nomor identifikasi tabel tertentu, nama indeks atau statistik, dan nama properti. Mengembalikan NULL untuk indeks XML.
Sintaks
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
Argumen
object_ID
Adalah ekspresi yang berisi nomor identifikasi objek tabel atau tampilan terindeks untuk memberikan informasi properti indeks. object_ID adalah int.
index_or_statistics_name
Adalah ekspresi yang berisi nama indeks atau statistik untuk mengembalikan informasi properti. index_or_statistics_name adalah nvarchar(128).
property
Adalah ekspresi yang berisi nama properti database yang akan dikembalikan. properti adalah varchar(128), dan bisa menjadi salah satu nilai ini.
Catatan
Kecuali dinyatakan lain, NULL dikembalikan ketika properti bukan nama properti yang valid, object_ID bukan ID objek yang valid, object_ID adalah tipe objek yang tidak didukung untuk properti yang ditentukan, atau pemanggil tidak memiliki izin untuk melihat metadata objek.
Properti | Deskripsi | Nilai |
---|---|---|
IndexDepth | Kedalaman indeks. | Jumlah tingkat indeks. NULL = Indeks atau input XML tidak valid. |
IndexFillFactor | Nilai faktor isian yang digunakan saat indeks dibuat atau terakhir dibangun ulang. | Faktor pengisian |
IndexID | ID indeks indeks pada tabel atau tampilan terindeks tertentu. | ID Indeks |
IsAutoStatistics | Statistik dihasilkan oleh opsi AUTO_CREATE_STATISTICS DARI ALTER DATABASE. | 1 = Benar 0 = Indeks false atau XML. |
IsClustered | Indeks diklusterkan. | 1 = Benar 0 = Indeks false atau XML. |
IsDisabled | Indeks dinonaktifkan. | 1 = Benar 0 = False NULL = Input tidak valid. |
IsFulltextKey | Indeks adalah kunci pengindeksan teks lengkap dan semantik untuk tabel. | Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru. 1 = Benar 0 = Indeks false atau XML. NULL = Input tidak valid. |
IsHipotesis | Indeks bersifat hipotetis dan tidak dapat digunakan langsung sebagai jalur akses data. Indeks hipotetis menyimpan statistik tingkat kolom dan dipertahankan dan digunakan oleh Konsultan Penyetelan Mesin Database. | 1 = Benar 0 = Indeks False atau XML NULL = Input tidak valid. |
IsPadIndex | Indeks menentukan ruang untuk membiarkan terbuka pada setiap simpul interior. | Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru. 1 = Benar 0 = Indeks false atau XML. |
IsPageLockDisallowed | Nilai penguncian halaman yang ditetapkan oleh opsi ALLOW_PAGE_LOCKS UBAH INDEKS. | Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru. 1 = Penguncian halaman tidak diizinkan. 0 = Penguncian halaman diperbolehkan. NULL = Input tidak valid. |
IsRowLockDisallowed | Nilai penguncian baris diatur oleh opsi ALLOW_ROW_LOCKS ALTER INDEX. | Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru. 1 = Penguncian baris tidak diizinkan. 0 = Penguncian baris diizinkan. NULL = Input tidak valid. |
IsStatistics | index_or_statistics_name adalah statistik yang dibuat oleh pernyataan CREATE STATISTICS atau oleh opsi AUTO_CREATE_STATISTICS ALTER DATABASE. | 1 = Benar 0 = Indeks false atau XML. |
IsUnique | Indeks unik. | 1 = Benar 0 = Indeks false atau XML. |
IsColumnstore | Indeks adalah indeks penyimpan kolom yang dioptimalkan memori xVelocity. | Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. 1 = Benar 0 = False |
IsOptimizedForSequentialKey | Indeks memiliki pengoptimalan untuk sisipan halaman terakhir yang diaktifkan. | Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. 1 = Benar 0 = False |
Jenis Kembalian
int
Pengecualian
Mengembalikan NULL pada kesalahan atau jika penelepon tidak memiliki izin untuk melihat objek.
Pengguna hanya dapat melihat metadata yang dapat diamankan yang dimiliki pengguna atau di mana pengguna telah diberikan izin. Ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti INDEXPROPERTY dapat mengembalikan NULL jika pengguna tidak memiliki izin apa pun pada objek. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Contoh
Contoh berikut mengembalikan nilai untuk properti IsClustered, IndexDepth, dan IndexFillFactor untuk PK_Employee_BusinessEntityID
indeks Employee
tabel dalam database AdventureWorks2022.
SELECT
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_BusinessEntityID','IsClustered')AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_BusinessEntityID','IndexDepth') AS [Index Depth],
INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
'PK_Employee_BusinessEntityID','IndexFillFactor') AS [Fill Factor];
Berikut adalah hasilnya:
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
(1 row(s) affected)
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut memeriksa properti salah satu indeks pada FactResellerSales
tabel.
-- Uses AdventureWorks
SELECT
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),
'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),
'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],
INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'),
'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];
GO
Lihat Juga
BUAT INDEKS (Transact-SQL)
Statistik
sys.indexes (Transact-SQL)
sys.index_columns (T-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (T-SQL)