INDEXPROPERTY (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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.

Konvensi sintaks transact-SQL

Sintaksis

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )   

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi 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_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 Value
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)