Dela via


INDEXPROPERTY (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Returnerar det namngivna index- eller statistikegenskapsvärdet för ett angivet tabellidentifieringsnummer, index- eller statistiknamn och egenskapsnamn. Returnerar NULL för XML-index.

Transact-SQL syntaxkonventioner

Syntax

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Arguments

object_ID

Ett uttryck som innehåller objektidentifieringsnumret för tabellen eller den indexerade vyn som du vill ange information om indexegenskap för. object_ID är int.

index_or_statistics_name

Ett uttryck som innehåller namnet på indexet eller statistiken som du vill returnera egenskapsinformation för. index_or_statistics_name är nvarchar(128).

egenskap

Ett uttryck som innehåller namnet på index- eller statistikegenskapen som ska returneras. egenskapen är varchar(128), och kan vara ett av dessa värden.

Anmärkning

Om inget annat NULL anges returneras när egenskapen inte är ett giltigt egenskapsnamn , object_ID inte är ett giltigt objekt-ID, object_ID är en objekttyp som inte stöds för den angivna egenskapen eller om anroparen inte har behörighet att visa objektets metadata.

Fastighet Description Värde
IndexDepth Indexets djup. Antal indexnivåer.

NULL = XML-index eller -indata är inte giltiga.
IndexFillFactor Fyllningsfaktorvärde som användes när indexet skapades eller senast återskapades. Fyllningsfaktor
IndexID Index-ID för indexet i en angiven tabell eller indexerad vy. Index-ID
IsAutoStatistics Statistik genererades av alternativet AUTO_CREATE_STATISTICSALTER DATABASE. 1 = Sant
0 = Falskt eller XML-index.
IsClustered Indexet är grupperat. 1 = Sant
0 = Falskt eller XML-index.
IsDisabled Index är inaktiverat. 1 = Sant
0 = Falskt
NULL = Indata är inte giltiga.
IsFulltextKey Index är den fullständiga text- och semantiska indexeringsnyckeln för en tabell. 1 = Sant
0 = Falskt eller XML-index.
NULL = Indata är inte giltiga.
IsHypothetical Index är hypotetiskt och kan inte användas direkt som en dataåtkomstsökväg. Hypotetiska index innehåller statistik på kolumnnivå och underhålls och används av Database Engine Tuning Advisor. 1 = Sant
0 = Falskt eller XML-index
NULL = Indata är inte giltiga.
IsPadIndex Index anger utrymme för att lämna öppet på varje inre nod. 1 = Sant
0 = Falskt eller XML-index.
IsPageLockDisallowed Sidlåsningsvärde som anges med alternativet ALLOW_PAGE_LOCKSALTER INDEX. 1 = Sidlåsning tillåts inte.
0 = Sidlåsning tillåts.
NULL = Indata är inte giltiga.
IsRowLockDisallowed Radlåsningsvärde som anges med alternativet ALLOW_ROW_LOCKSALTER INDEX. 1 = Radlåsning tillåts inte.
0 = Radlåsning tillåts.
NULL = Indata är inte giltiga.
IsStatistics index_or_statistics_name är statistik som skapas av -instruktionen CREATE STATISTICS eller med AUTO_CREATE_STATISTICS alternativet ALTER DATABASE. 1 = Sant
0 = Falskt eller XML-index.
IsUnique Indexet är unikt. 1 = Sant
0 = Falskt eller XML-index.
IsColumnstore Index är ett minnesoptimerad kolumnlagringsindex. 1 = Sant
0 = Falskt

gäller för: SQL Server 2012 (11.x) och senare versioner.
IsOptimizedForSequentialKey Indexet har optimering för infogningar på sista sidan aktiverat. 1 = Sant
0 = Falskt

gäller för: SQL Server 2019 (15.x) och senare versioner.

Returtyper

int

Exceptions

Returnerar NULL vid fel eller om en anropare inte har behörighet att visa objektet.

En användare kan bara visa metadata för skyddsbara filer som användaren äger eller som användaren beviljas behörighet för. Det innebär att metadatautsändande, inbyggda funktioner som INDEXPROPERTY kan returneras NULL om användaren inte har någon behörighet för objektet. Mer information finns i Konfiguration av synlighet för metadata.

Examples

Kodexemplen i den här artikeln använder AdventureWorks2022- eller AdventureWorksDW2022-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.

A. Returnera egenskaper för index i tabellen Employee

I följande exempel returneras värdena för IsClusteredegenskaperna , IndexDepthoch IndexFillFactor för indexet PK_Employee_BusinessEntityIDEmployee för tabellen i databasen 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];

Här är resultatet.

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

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

B. Returnera egenskaper för index i tabellen FactResellerSales

I följande exempel undersöks egenskaperna för ett av indexen i FactResellerSales tabellen.

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