Bagikan melalui


INDEKSPROPERTI (Transact-SQL)

Berlaku untuk:SQL ServerDatabase Azure SQLInstans Terkelola Azure SQLAzure Synapse AnalyticsSistem Platform Analitik (PDW)Database SQL di Microsoft Fabric

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

Sintaks

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Argumen

object_ID

Ekspresi yang berisi nomor identifikasi objek tabel atau tampilan terindeks untuk memberikan informasi properti indeks. object_ID adalah int.

index_or_statistics_name

Ekspresi yang berisi nama indeks atau statistik untuk mengembalikan informasi properti. index_or_statistics_name adalah nvarchar(128).

property

Ekspresi yang berisi nama properti indeks atau statistik 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 jenis 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 AUTO_CREATE_STATISTICS opsi .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 = Salah
NULL = Input tidak valid.
IsFulltextKey Indeks adalah kunci pengindeksan teks lengkap dan semantik untuk tabel. 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 simpul interior. 1 = Benar
0 = Indeks false atau XML.
IsPageLockDisallowed Nilai penguncian halaman diatur oleh ALLOW_PAGE_LOCKS opsi .ALTER INDEX 1 = Penguncian halaman tidak diizinkan.
0 = Penguncian halaman diperbolehkan.
NULL = Input tidak valid.
IsRowLockDisallowed Nilai penguncian baris diatur oleh ALLOW_ROW_LOCKS opsi .ALTER INDEX 1 = Penguncian baris tidak diizinkan.
0 = Penguncian baris diperbolehkan.
NULL = Input tidak valid.
IsStatistics index_or_statistics_name adalah statistik yang dibuat oleh CREATE STATISTICS pernyataan atau dengan AUTO_CREATE_STATISTICS opsi .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 memori yang dioptimalkan. 1 = Benar
0 = Salah

Berlaku untuk: SQL Server 2012 (11.x) dan versi yang lebih baru.
IsOptimizedForSequentialKey Indeks memiliki pengoptimalan untuk sisipan halaman terakhir yang diaktifkan. 1 = Benar
0 = Salah

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.

Tipe pengembalian

int

Pengecualian

NULL Mengembalikan kesalahan atau jika pemanggil tidak memiliki izin untuk melihat objek.

Pengguna hanya dapat melihat metadata yang dapat diamankan yang dimiliki pengguna atau di mana pengguna diberikan izin. Ini berarti bahwa fungsi bawaan yang memancarkan metadata seperti INDEXPROPERTY mungkin kembali NULL jika pengguna tidak memiliki izin apa pun pada objek. Untuk informasi selengkapnya, lihat Konfigurasi visibilitas metadata.

Contoh

Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.

A. Mengembalikan properti untuk indeks pada tabel Karyawan

Contoh berikut mengembalikan nilai untuk IsClustered, IndexDepth, dan IndexFillFactor properti untuk PK_Employee_BusinessEntityID indeks Employee tabel dalam database AdventureWorks2025.

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 kumpulan hasilnya.

Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1            2           0

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

B. Mengembalikan properti untuk indeks pada tabel FactResellerSales

Contoh berikut memeriksa properti salah satu indeks pada FactResellerSales tabel.

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