Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft één rij terug voor elk kolomsegment in een columnstore-index. Er is één kolomsegment per kolom per rijgroep. Een columnstore-index met 10 rijengroepen en 34 kolommen heeft bijvoorbeeld 340 rijen in deze weergave.
| Kolomnaam | Gegevenstype | Description |
|---|---|---|
partition_id |
bigint | Geeft de partitie-ID aan. Is uniek in een database. |
hobt_id |
bigint | ID van de heap- of B-boomindex (HoBT) voor de tabel die deze kolomopslagindex bevat. |
column_id |
int | Id van de columnstore-kolom. |
segment_id |
int | Id van de rijgroep. Voor achterwaartse compatibiliteit blijft de kolomnaam segment_id genoemd, ook al is dit de rijgroep-ID. U kunt een segment uniek identificeren met behulp van <hobt_id, partition_id, column_id, segment_id>. |
version |
int | Versie van het kolomsegmentformaat. |
encoding_type |
int | Type codering die voor dat segment wordt gebruikt: 1 = VALUE_BASED - niet-string/binair zonder woordenboek (vergelijkbaar met 4 met enkele interne variaties) 2 = VALUE_HASH_BASED - niet-string/binaire kolom met gemeenschappelijke waarden in het woordenboek 3 = STRING_HASH_BASED - string/binaire kolom met gemeenschappelijke waarden in woordenboek 4 = STORE_BY_VALUE_BASED - niet-string/binair zonder woordenboek 5 = STRING_STORE_BY_VALUE_BASED - string/binair zonder woordenboek Zie de sectie Opmerkingen voor meer informatie. |
row_count |
int | Aantal rijen in de rijgroep. |
has_nulls |
int | 1 als het kolomsegment NULL's bevat. |
base_id |
bigint | Basiswaarde-ID als coderingstype 1 wordt gebruikt. Als coderingstype 1 niet wordt gebruikt, base_id wordt ingesteld op -1. |
magnitude |
float | Grootte als codering type 1 wordt gebruikt. Als coderingstype 1 niet wordt gebruikt, magnitude wordt ingesteld op -1. |
primary_dictionary_id |
int | Een waarde van 0 vertegenwoordigt het globale woordenboek. Een waarde van -1 geeft aan dat er geen globaal woordenboek voor deze kolom is aangemaakt. |
secondary_dictionary_id |
int | Een niet-nul waarde wijst naar het lokale woordenboek voor deze kolom in het huidige segment (bijvoorbeeld de rijgroep). Een waarde van -1 geeft aan dat er voor dit segment geen lokaal woordenboek is. |
min_data_id |
bigint | Alleen voor intern gebruik. |
max_data_id |
bigint | Alleen voor intern gebruik. |
null_value |
bigint | Waarde die wordt gebruikt om nullen weer te geven. |
on_disk_size |
bigint | Grootte van het segment in bytes. |
collation_id |
int | Huidige verzameling toen het segment werd aangemaakt. Kaarten naar een interne ID. Alleen voor intern gebruik. van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance |
min_deep_data |
varbinair(18) | Gebruikt voor segmenteliminatie. 1 Alleen voor intern gebruik. van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance |
max_deep_data |
varbinair(18) | Gebruikt voor segmenteliminatie. 1 Alleen voor intern gebruik. van toepassing op: SQL Server 2022 (16.x) en latere versies, Azure SQL Database en Azure SQL Managed Instance |
1 Na een upgrade naar een versie van de database-engine die min/max segmentverwijdering ondersteunt voor een uitgebreide set gegevenstypen (geïntroduceerd in SQL Server 2022 (16.x)), worden de min_deep_data en max_deep_data totdat NULL de columnstore-index opnieuw wordt opgebouwd met behulp van een ALTER INDEX ... REBUILD of-instructie CREATE INDEX ... WITH (DROP_EXISTING = ON) .
Opmerkingen
Het kolomarchiefsegmentcoderingstype wordt door de database-engine geselecteerd door de segmentgegevens te analyseren met als doel de laagste opslagkosten te bereiken. Als data grotendeels verschillend is, gebruikt de Database Engine waardegebaseerde codering. Als data meestal niet onderscheidend is, gebruikt de Database Engine hash-gebaseerde codering. De keuze tussen string-gebaseerde en waardegebaseerde codering hangt samen met het type data dat wordt opgeslagen, of het nu stringdata of binaire data is. Alle coderingen maken waar mogelijk gebruik van bitpacking en run-length codering.
Columnstore-segmentuitschakeling is van toepassing op numerieke gegevenstypen, datum- en tijdgegevenstypen en het gegevenstype datetimeoffset met een schaal kleiner dan of gelijk aan twee. Vanaf SQL Server 2022 (16.x) worden segmentverwijderingsmogelijkheden uitgebreid tot tekenreeks- en binaire gegevenstypen, het uniekeidentifier-gegevenstype en het gegevenstype datetimeoffset voor schaal groter dan twee. Segmentuitschakeling is niet van toepassing op LOB-gegevenstypen, zoals varchar(max), nvarchar(max), en varbinary(max). Zie Wat is er nieuw in columnstore-indexen voor meer informatie.
Permissions
De VIEW DEFINITION machtiging voor de weergave is vereist. De volgende kolommen retourneren NULL tenzij de gebruiker ook de SELECT machtiging heeft: has_nulls, base_id, magnitudemin_data_id, , , max_data_iden null_value.
De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.
Voorbeelden
De volgende query geeft informatie terug over segmenten van een columnstore-index.
SELECT i.name, p.object_id, p.index_id, i.type_desc,
COUNT(*) AS number_of_segments
FROM sys.column_store_segments AS s
INNER JOIN sys.partitions AS p
ON s.hobt_id = p.hobt_id
INNER JOIN sys.indexes AS i
ON p.object_id = i.object_id
WHERE i.type = 5 OR i.type = 6
GROUP BY i.name, p.object_id, p.index_id, i.type_desc;
Verwante inhoud
- Handleiding voor Columnstore-indexen
- Prestaties afstemmen met geordende columnstore-indexen
- objectcatalogusweergaven (Transact-SQL)
- catalogusweergaven (Transact-SQL)
- query's uitvoeren op de veelgestelde vragen over sql Server System Catalog
- sys.columns (Transact-SQL)
- sys.all_columns (Transact-SQL)
- sys.computed_columns (Transact-SQL)
- sys.column_store_dictionaries (Transact-SQL)