sys.index_columns (Transact-SQL)
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platform Platform System (PDW)
databáze SQL v Microsoft Fabric
Obsahuje jeden řádek na sloupec, který je součástí indexu nebo neseřazené tabulky (haldy).
Název sloupce | Datový typ | Popis |
---|---|---|
object_id | int | ID objektu, na který je index definován. |
index_id | int | ID indexu, ve kterém je sloupec definován. |
index_column_id | int | ID indexového sloupce.
index_column_id je jedinečný pouze v rámci index_id . |
column_id | int | ID sloupce v object_id .0 = identifikátor řádku (RID) v neclusterovaného indexu.column_id je jedinečný pouze v rámci object_id . |
key_ordinal | tinyint | Řadové (1) v sadě sloupců s klíči 0 = Není klíčový sloupec nebo je index XML, index columnstore nebo prostorový index. Poznámka: Kód XML nebo prostorový index nemůže být klíč, protože podkladové sloupce nejsou srovnatelné, což znamená, že jejich hodnoty nelze uspořádat. |
partition_ordinal | tinyint | Řadové (1) v rámci sady sloupců dělení Clusterovaný index columnstore může mít maximálně jeden sloupec dělení. 0 = Není sloupec dělení. |
is_descending_key | bitová |
1 = Sloupec klíče indexu má sestupný směr řazení.0 = Sloupec klíče indexu má vzestupný směr řazení nebo je sloupec součástí indexu columnstore nebo hash. |
is_included_column | bitová |
1 = Sloupec je neklíčový sloupec přidaný do indexu pomocí klauzule CREATE INDEX INCLUDE nebo je sloupec součástí indexu columnstore.0 = Sloupec není zahrnutý sloupec.Sloupce se implicitně přidávají, protože jsou součástí klíče clusteringu, nejsou uvedené v sys.index_columns .Sloupce se implicitně přidávají, protože se jedná o sloupec dělení, který se vrací jako 0 . |
column_store_order_ordinal | tinyint |
platí pro: Azure Synapse Analytics, SQL Server 2022 (16.x), Azure SQL Database a Azure SQL Managed Instance s Always-up-to-date update policy Řadové (1) v sadě sloupců objednávek v uspořádané index columnstore. Další informace o seřazených indexech columnstore najdete v tématu Ladění výkonu s seřazenými indexy columnstore. |
Dovolení
Viditelnost metadat v zobrazeních katalogu je omezená na zabezpečitelné, které uživatel vlastní nebo na kterých uživatel udělil určité oprávnění. Další informace naleznete v tématu konfigurace viditelnosti metadat.
Příklady
Následující příklad vrátí všechny indexy a indexové sloupce pro tabulku Production.BillOfMaterials
.
USE AdventureWorks2022;
GO
SELECT i.name AS index_name
,COL_NAME(ic.object_id,ic.column_id) AS column_name
,ic.index_column_id
,ic.key_ordinal
,ic.is_included_column
FROM sys.indexes AS i
INNER JOIN sys.index_columns AS ic
ON i.object_id = ic.object_id AND i.index_id = ic.index_id
WHERE i.object_id = OBJECT_ID('Production.BillOfMaterials');
Tady je sada výsledků.
index_name column_name index_column_id key_ordinal is_included_column
---------------------------------------------------------- ----------------- --------------- ----------- -------------
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ProductAssemblyID 1 1 0
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ComponentID 2 2 0
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate StartDate 3 3 0
PK_BillOfMaterials_BillOfMaterialsID BillOfMaterialsID 1 1 0
IX_BillOfMaterials_UnitMeasureCode UnitMeasureCode 1 1 0
(5 row(s) affected)
Další kroky
- zobrazení katalogu objektů (Transact-SQL)
- zobrazení katalogu (Transact-SQL)
- sys.indexes (Transact-SQL)
- sys.objects (Transact-SQL)
- CREATE INDEX (Transact-SQL)
- sys.columns (Transact-SQL)
- dotazování na nejčastější dotazy k katalogu systému SQL Server