Sdílet prostřednictvím


sys.indexes (Transact-SQL)

Platí na: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 Description
object_id int ID objektu, do kterého tento index patří.
name sysname Název indexu název 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
type tinyint Typ indexu:

0 = halda
1 = Clustered rowstore (B-strom)
2 = Neclustered rowstore (B-tree)
3 = XML
4 = Prostorová
5 = clusterovaný index columnstore 2
6 = neclusterovaný index columnstore 1
7 = Neclusterovaný index hash 2
9 = JSON 5
type_desc nvarchar(60) Popis typu indexu:

-HALDA
-NASHROMÁŽDĚNÝ
- NECLUSTERED
- XML
-PROSTOROVÝ
– CLUSTEROVANÝ COLUMNSTORE 2
- NECLUSTERED COLUMNSTORE 1
- NECLUSTERED HASH 2, 8
– JSON 5
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 zapnutý.
0 = PADINDEX je VYPNUTO.

Vždy 0 pro clusterované indexy columnstore.
is_disabled bit 1 = Index je zakázán.
0 = Index není zakázaný.
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 3, 6, 7 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 klíčových zpráv během operace opětovného sestavení indexu.
auto_created 6 bit 1 = Index byl vytvořen automatickým laděním.
0 = Index byl vytvořen uživatelem.
optimize_for_sequential_key 4, 6, 7 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.

1platí pro: SQL Server 2012 (11.x) a novější verze.

2Platí pro: SQL Server 2014 (12.x) a novější verze.

3Platí pro: SQL Server 2017 (14.x) a novější verze.

4platí pro: SQL Server 2019 (15.x) a novější verze.

5Platí na: SQL Server 2025 (17.x) a pozdější verze.

6Platí pro: Azure SQL Database.

7Platí pro: Azure SQL Managed Instance.

8NONCLUSTERED HASH indexů se podporuje jenom u tabulek 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.

Permissions

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 tématu Konfigurace viditelnosti metadat.

Examples

Následující příklad vrací všechny indexy tabulky Production.Product v databázi AdventureWorks2025.

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