INDEXPROPERTY (transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
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 )
Catatan
Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
object_ID
Adalah ekspresi yang berisi nomor identifikasi objek tabel atau tampilan terindeks untuk memberikan informasi properti indeks. object_IDint.
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 dapat menjadi salah satu nilai ini.
Catatan
Kecuali disebutkan sebaliknya, 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 xml atau input tidak valid. |
| IndexFillFactor | Nilai faktor isian yang digunakan saat indeks dibuat atau terakhir dibangun kembali. | 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 dan yang lebih baru. 1 = Benar 0 = Indeks false atau XML. NULL = Input tidak valid. |
| IsHypothetical | 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 node interior. | Berlaku untuk: SQL Server 2008 dan yang lebih baru. 1 = Benar 0 = Indeks false atau XML. |
| IsPageLockDisallowed | Nilai penguncian halaman diatur oleh opsi ALLOW_PAGE_LOCKS UBAH INDEKS. | Berlaku untuk: SQL Server 2008 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 UBAH INDEKS. | Berlaku untuk: SQL Server 2008 dan yang lebih baru. 1 = Penguncian baris tidak diizinkan. 0 = Penguncian baris diperbolehkan. 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 Pengembalian
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 AdventureWorks2012.
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
CREATE INDEX (Transact-SQL)
Statistik
sys.indexes (Transact-SQL)
sys.index_columns (SQL Bertransaksi)
sys.stats (Transact-SQL)
sys.stats_columns (SQL Bertransaksi)
