Sdílet prostřednictvím


sys.indexes (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický platformový systém (PDW)SQL databáze v Microsoft Fabric

Obsahuje řádek na index nebo haldu tabulkového objektu, například tabulku, zobrazení nebo funkci s hodnotou tabulky.

Název sloupce Datový typ Popis
object_id Int ID objektu, do kterého tento index patří.
název sysname Název indexu name je jedinečný pouze v rámci objektu.

NULL = halda
index_id Int ID indexu. index_id je jedinečný pouze v rámci objektu.

0 = halda

1 = clusterovaný index

> 1 = neclusterovaný index
typ tinyint Typ indexu:

0 = halda

1 = Clustered rowstore (B-tree)

2 = Neclustered rowstore (B-tree)

3 = XML

4 = Prostorová

5 = clusterovaný index columnstore. platí pro: SQL Server 2014 (12.x) a novější.

6 = Neclustered columnstore index. platí pro: SQL Server 2012 (11.x) a novější.

7 = neclusterovaný index hash. platí pro: SQL Server 2014 (12.x) a novější.
9 = JSON platí pro: SQL Server 2025 (17.x) Preview
type_desc nvarchar(60) Popis typu indexu:

HALDA

Seskupený

NECLUSTERED

XML

PROSTOROVÝ

CLUSTERED COLUMNSTORE – platí pro: SQL Server 2014 (12.x) a novější.

NONCLUSTERED COLUMNSTORE – platí pro: SQL Server 2012 (11.x) a novější.

NECLUSTERED HASH: Neclustered hash indexy jsou podporovány pouze v tabulkách optimalizovaných pro paměť. Zobrazení sys.hash_indexes zobrazuje aktuální indexy hash a vlastnosti hash. Další informace najdete v tématu sys.hash_indexes (Transact-SQL). platí pro: SQL Server 2014 (12.x) a novější.
JSON platí pro: SQL Server 2025 (17.x) Preview
is_unique bit 1 = Index je jedinečný.

0 = Index není jedinečný.

Vždy 0 pro clusterované indexy columnstore.
data_space_id Int ID datového prostoru pro tento index Datový prostor je buď skupina souborů, nebo schéma oddílů.

0 = object_id je funkce s hodnotou tabulky nebo index v paměti.
ignore_dup_key bit 1 = IGNORE_DUP_KEY je ZAPNUTO.

0 = IGNORE_DUP_KEY je VYPNUTO.
is_primary_key bit 1 = Index je součástí omezení PRIMÁRNÍHO KLÍČE.

Vždy 0 pro clusterované indexy columnstore.
is_unique_constraint bit 1 = Index je součástí omezení UNIQUE.

Vždy 0 pro clusterované indexy columnstore.
fill_factor tinyint > 0 = procento FILLFACTOR použité při vytvoření nebo vytvoření indexu.

0 = Výchozí hodnota

Vždy 0 pro clusterované indexy columnstore.
is_padded bit 1 = PADINDEX je ZAPNUTO.

0 = PADINDEX je VYPNUTO.

Vždy 0 pro clusterované indexy columnstore.
is_disabled bit 1 = Index je zakázán.

0 = Index není zakázán.
is_hypothetical bit 1 = Index je hypotetický a nelze ho použít přímo jako cestu přístupu k datům. Hypotetické indexy uchovávají statistiky na úrovni sloupců.

0 = Index není hypotetický.
allow_row_locks bit 1 = Index umožňuje zámky řádků.

0 = Index nepovoluje zámky řádků.

Vždy 0 pro clusterované indexy columnstore.
allow_page_locks bit 1 = Index umožňuje zámky stránek.

0 = Index neumožňuje zámky stránek.

Vždy 0 pro clusterované indexy columnstore.
has_filter bit 1 = Index má filtr a obsahuje pouze řádky, které splňují definici filtru.

0 = Index nemá filtr.
filter_definition nvarchar(max) Výraz pro podmnožinu řádků zahrnutých do filtrovaného indexu

HODNOTA NULL pro haldu, nefiltrovaný index nebo nedostatečná oprávnění k tabulce
compression_delay Int > 0 = zpoždění komprese indexu Columnstore zadané v minutách.

NULL = Zpoždění komprese skupiny řádků indexu columnstore se spravuje automaticky.
suppress_dup_key_messages bit 1 = Index je nakonfigurován pro potlačení duplicitních klíčových zpráv během operace opětovného sestavení indexu.

0 = Index není nakonfigurován pro potlačení duplicitních zpráv klíče během operace opětovného sestavení indexu.

Platí pro: SQL Server (počínaje SQL Serverem 2017 (14.x)), Azure SQL Database a Azure SQL Managed Instance
auto_created bit 1 = Index byl vytvořen automatickým laděním.

0 = Index byl vytvořen uživatelem.

platí pro: Azure SQL Database
optimize_for_sequential_key bit 1 = Index má povolenou optimalizaci vložení poslední stránky.

0 = Výchozí hodnota. Index má zakázanou optimalizaci vložení poslední stránky.

Platí pro: SQL Server (počínaje SQL Serverem 2019 (15.x)), Azure SQL Database a Azure SQL Managed Instance

Povolení

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Příklady

Následující příklad vrátí všechny indexy pro tabulku Production.Product v databázi AdventureWorks2022.

SELECT i.name AS index_name  
    ,i.type_desc  
    ,is_unique  
    ,ds.type_desc AS filegroup_or_partition_scheme  
    ,ds.name AS filegroup_or_partition_scheme_name  
    ,ignore_dup_key  
    ,is_primary_key  
    ,is_unique_constraint  
    ,fill_factor  
    ,is_padded  
    ,is_disabled  
    ,allow_row_locks  
    ,allow_page_locks  
FROM sys.indexes AS i  
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id  
WHERE is_hypothetical = 0 AND i.index_id <> 0   
AND i.object_id = OBJECT_ID('Production.Product');  
GO  

Další kroky

zobrazení katalogu objektů (Transact-SQL)
zobrazení katalogu (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.xml_indexy (Transact-SQL)
sys.objects (Transact-SQL)
sys.klíčová_omezení (Transact-SQL)
sys.filegroups (Transact-SQL)
sys.partition_schemes (Transact-SQL)
dotazování na nejčastější dotazy k katalogu systému SQL Server
In-Memory OLTP (optimalizaceIn-Memory)