Index columnstore - PrésentationColumnstore indexes - Overview

Cette rubrique s’applique à : OuiSQL ServerOuibase de données SQL AzureOuiAzure SQL Data Warehouse Oui Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Les index columnstore sont la norme pour le stockage et l’interrogation des tables de faits d’entreposage de données de grande taille.Columnstore indexes are the standard for storing and querying large data warehousing fact tables. Il utilise un stockage de données basé sur des colonnes et un traitement des requêtes pour atteindre des gains de performances des requêtes pouvant être multipliés par 10 dans votre entrepôt de données par rapport au stockage orienté lignes traditionnel et une compression de données multipliée par 10 par rapport à la taille des données non compressées.It uses column-based data storage and query processing to achieve up to 10x query performance gains in your data warehouse over traditional row-oriented storage, and up to 10x data compression over the uncompressed data size. À partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x), les index columnstore autorisent l’analytique opérationnelle, qui permet d’exécuter des analyses en temps réel performantes sur une charge de travail transactionnelle.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), columnstore indexes enable operational analytics, the ability to run performant real-time analytics on a transactional workload.

Passez aux scénarios suivants :Jump to scenarios:

Qu’est-ce qu’un index columnstore ?What is a columnstore index?

Un columnstore index est une technologie permettant de stocker, extraire et gérer les données à l'aide d'un format de données en colonnes, appelé columnstore.A columnstore index is a technology for storing, retrieving and managing data by using a columnar data format, called a columnstore.

Termes et concepts clésKey terms and concepts

Les termes et concepts clés suivants sont associés aux index columnstore.These are key terms and concepts are associated with columnstore indexes.

columnstorecolumnstore
Un columnstore représente des données qui sont organisées logiquement sous la forme d’une table avec des lignes et des colonnes, et stockées physiquement dans un format de données selon les colonnes.A columnstore is data that is logically organized as a table with rows and columns, and physically stored in a column-wise data format.

rowstorerowstore
Un rowstore représente des données qui sont organisées logiquement sous la forme d’une table avec des lignes et des colonnes, puis stockées physiquement dans un format de données selon les lignes.A rowstore is data that is logically organized as a table with rows and columns, and then physically stored in a row-wise data format. Il s'agit de la méthode traditionnelle de stockage des données de table relationnelles.This has been the traditional way to store relational table data. Dans SQL ServerSQL Server, un rowstore fait référence à une table dans laquelle le format de stockage de données sous-jacent est un segment de mémoire, un index cluster ou une table à mémoire optimisée.In SQL ServerSQL Server, rowstore refers to table where the underlying data storage format is a heap, a clustered index, or a memory-optimized table.

Note

Dans les discussions au sujet des index columnstore, nous utilisons les termes rowstore et columnstore pour mettre en évidence le format du stockage de données.In discussions about columnstore indexes, we use the terms rowstore and columnstore to emphasize the format for the data storage.

rowgrouprowgroup
Un rowgroup est un groupe de lignes qui sont compressées au format columnstore en même temps.A row group is a group of rows that are compressed into columnstore format at the same time. Un rowgroup contient généralement le nombre maximal de lignes par rowgroup qui est de 1 048 576 lignes.A rowgroup usually contains the maximum number of rows per rowgroup which is 1,048,576 rows.

Pour une haute performance et des taux de compression élevés, l’index columnstore découpe la table en groupes de lignes, appelés rowgroups, puis comprime chaque groupe de lignes selon les colonnes.For high performance and high compression rates, the columnstore index slices the table into groups of rows, called rowgroups, and then compresses each rowgroup in a column-wise manner. Le nombre de lignes dans le groupe de lignes doit être assez grand pour améliorer le taux de compression et assez petit pour tirer parti des opérations en mémoire.The number of rows in the rowgroup must be large enough to improve compression rates, and small enough to benefit from in-memory operations.
segment de colonnecolumn segment
Un segment de colonne est une colonne de données au sein d’un rowgroup.A column segment is a column of data from within the rowgroup.

  • Chaque rowgroup contient un segment de colonne pour chaque colonne dans la table.Each rowgroup contains one column segment for every column in the table.
  • Chaque segment de colonne est compressé et stocké sur un support physique.Each column segment is compressed together and stored on physical media.

    Column segmentColumn segment

    index columnstore clusterclustered columnstore index
    Un index columnstore cluster est le stockage physique de la totalité de la table.A clustered columnstore index is the physical storage for the entire table.

    Clustered Columnstore IndexClustered Columnstore Index

    Pour réduire la fragmentation des segments de colonne et améliorer les performances, l’index columnstore peut stocker des données temporaires dans un index cluster, appelé deltastore, plus une liste btree d’ID pour les lignes supprimées.To reduce fragmentation of the column segments and improve performance, the columnstore index might store some data temporarily into a clustered index, which is called a deltastore, and a btree list of IDs for deleted rows. Les opérations deltastore sont effectuées en coulisse.The deltastore operations are handled behind the scenes. Pour retourner des résultats de requête corrects, l'index columnstore cluster associe les résultats de columnstore et de deltastore.To return the correct query results, the clustered columnstore index combines query results from both the columnstore and the deltastore.

    Rowgroup deltadelta rowgroup
    Utilisé uniquement avec des index de stockage de colonnes, un rowgroup delta est un index cluster qui améliore la compression columnstore et les performances en stockant les lignes jusqu’à ce que le nombre de lignes atteigne un seuil et que celles-ci soient déplacées dans le columnstore.Used with column store indexes only, a delta rowgroup is a clustered index that improves columnstore compression and performance by storing rows until the number of rows reaches a threshold and are then moved into the columnstore.

    Lorsqu’un rowgroup delta atteint le nombre maximal de lignes, il est fermé.When a delta rowgroup reaches the maximum number of rows, it becomes closed. Un processus de déplacement de tuple vérifie les groupes de lignes fermés.A tuple-mover process checks for closed row groups. Lorsqu'il trouve un rowgroup fermé, il le compresse et le stocke dans le columnstore.When it finds the closed rowgroup, it compresses it and stores it into the columnstore.

deltastore Un index columnstore peut avoir plusieurs rowgroups delta.deltastore A columnstore index can have more than one delta rowgroup. Tous les rowgroups delta sont appelés collectivement le deltastore.All of the delta rowgroups are collectively called the deltastore.

Lors d'un chargement en masse important, la plupart des lignes sont directement placées dans le columnstore sans passer par le deltastore.During a large bulk load, most of the rows go directly to the columnstore without passing through the deltastore. Certaines lignes à la fin du chargement en masse peuvent être en trop petit nombre pour atteindre la taille minimale d'un rowgroup, qui est de 102 400 lignes.Some rows at the end of the bulk load might be too few in number to meet the minimum size of a rowgroup which is 102,400 rows. Dans ce cas, les lignes finales sont placées dans le deltastore plutôt que dans le columnstore.When this happens, the final rows go to the deltastore instead of the columnstore. Pour les petits chargements en masse de taille inférieure à 102 400 lignes, toutes les lignes vont directement au deltastore.For small bulk loads with less than 102,400 rows, all of the rows go directly to the deltastore.

index columnstore non clusternonclustered columnstore index
Un index columnstore non cluster et un index columnstore cluster fonctionnent de la même manière.A nonclustered columnstore index and a clustered columnstore index function the same. La différence réside dans le fait qu’un index non cluster est un index secondaire créé sur une table rowstore tandis qu’un index cluster columnstore est le stockage principal pour la table entière.The difference is a nonclustered index is a secondary index created on a rowstore table, whereas a clustered columnstore index is the primary storage for the entire table.

L’index non cluster contient une copie de tout ou partie des lignes et des colonnes de la table sous-jacente.The nonclustered index contains a copy of part or all of the rows and columns in the underlying table. L’index est défini comme une ou plusieurs colonnes de la table et a une condition facultative qui filtre les lignes.The index is defined as one or more columns of the table, and has an optional condition that filters the rows.

Un index non cluster columnstore active l’analytique opérationnelle en temps réel dans laquelle la charge de travail OLTP utilise l’index cluster sous-jacent tandis que l’analyse s’exécute simultanément sur l’index columnstore.A nonclustered columnstore index enables real-time operational analytics in which the OLTP workload uses the underlying clustered index, while analytics run concurrently on the columnstore index. Pour plus d’informations, consultez Prise en main de columnstore pour l’analytique opérationnelle en temps réel.For more information, see Get started with Columnstore for real time operational analytics.

Exécution par lotbatch execution
L’exécution par lot est une méthode de traitement des requêtes dans laquelle les requêtes traitent plusieurs lignes ensemble.Batch execution is a query processing method in which queries process multiple rows together. Les requêtes sur les index columnstore utilisent l’exécution en mode batch qui permet généralement de multiplier les performances des requêtes par 2 ou 4.Queries on columnstore indexes use batch mode execution which improves query performance typically 2-4x. L’exécution par lot est étroitement intégrée avec (et optimisée pour) le format de stockage columnstore.Batch execution is closely integrated with, and optimized around, the columnstore storage format. L'exécution en mode batch est parfois appelée « exécution vectorielle ou vectorisée ».Batch-mode execution is sometimes known as vector-based or vectorized execution.

Pourquoi utiliser un index columnstore ?Why should I use a columnstore index?

Les index columnstore peuvent fournir un niveau très élevé de compression de données (généralement multiplié par 10) afin de réduire de manière significative le coût de stockage de l’entrepôt de données.A columnstore index can provide a very high level of data compression, typically 10x, to reduce your data warehouse storage cost significantly. De plus, pour les analyses, ils offrent des performances réellement meilleures par rapport à un index btree.Plus, for analytics they offer an order of magnitude better performance than a btree index. Il s’agit du format de stockage de données préféré pour les charges de travail d’entreposage des données et d’analyse.They are the preferred data storage format for data warehousing and analytics workloads. Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), vous pouvez utiliser des index columnstore pour l’analyse en temps réel sur votre charge de travail opérationnelle.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can use columnstore indexes for real-time analytics on your operational workload.

Voici les raisons pour lesquelles les index columnstore sont si rapides :Reasons why columnstore indexes are so fast:

  • Les valeurs columnstore d’un même domaine ont généralement des valeurs similaires, ce qui se traduit par des taux de compression élevés.Columns store values from the same domain and commonly have similar values, which results in high compression rates. Cela réduit ou élimine le goulot d’étranglement d’E/S dans votre système tout en diminuant l’encombrement mémoire de manière significative.This minimizes or eliminates IO bottleneck in your system while reducing the memory footprint significantly.

  • Les taux de compression élevés améliorent les performances des requêtes en utilisant un plus faible encombrement en mémoire.High compression rates improve query performance by using a smaller in-memory footprint. En conséquence, les performances des requêtes sont améliorées, car SQL ServerSQL Server peut exécuter davantage d'opérations de requêtes et sur les données en mémoire.In turn, query performance can improve because SQL ServerSQL Server can perform more query and data operations in-memory.

  • L’exécution par lot multiplie généralement les performances de requête par 2 ou 4 grâce au traitement simultané de plusieurs lignes.Batch execution improves query performance, typically 2-4x, by processing multiple rows together.

  • Les requêtes sélectionnent souvent seulement quelques colonnes d'une table, ce qui réduit les E/S totales à partir du support physique.Queries often select only a few columns from a table, which reduces total I/O from the physical media.

Quand utiliser un index columnstore ?When should I use a columnstore index?

Voici les cas d’utilisation recommandés :Recommended use cases:

Comment choisir entre un index rowstore et un index columnstore ?How do I choose between a rowstore index and a columnstore index?

Les index rowstore fonctionnent de manière optimale sur les requêtes qui recherchent une valeur spécifique au sein des données ou sur les requêtes qui interrogent une petite plage de valeurs.Rowstore indexes perform best on queries that seek into the data, searching for a particular value, or for queries on a small range of values. Utilisez les index rowstore avec des charges de travail transactionnelles, car ils ont tendance à nécessiter principalement des recherches de table plutôt que des analyses de table.Use rowstore indexes with transactional workloads since they tend to require mostly table seeks instead of table scans.

Les index columnstore offrent des gains de performances élevés pour les requêtes analytiques qui analysent de grandes quantités de données, en particulier sur des tables volumineuses.Columnstore indexes give high performance gains for analytic queries that scan large amounts of data, especially on large tables. Utilisez les index columnstore sur les charges de travail d’analyse et d’entreposage des données, en particulier sur les tables de faits, car ils ont tendance à nécessiter des analyses de tables complètes plutôt que des recherches de table.Use columnstore indexes on data warehousing and analytics workloads, especially on fact tables, since they tend to require full table scans rather than table seeks.

Puis-je combiner les formats rowstore et columnstore dans la même table ?Can I combine rowstore and columnstore on the same table?

Oui.Yes. Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), vous pouvez créer un index non cluster columnstore pouvant être mis à jour sur une table rowstore.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can create an updatable nonclustered columnstore index on a rowstore table. L’index columnstore stocke une copie des colonnes choisies. Vous avez donc besoin d’un espace supplémentaire pour cela, même si les colonnes sont compressées en moyenne par 10.The columnstore index stores a copy of the chosen columns so you do need extra space for this but it will be compressed on average by 10x. Ce faisant, vous pouvez exécuter l’analytique sur l’index columnstore et les transactions sur l’index rowstore en même temps.By doing this, you can run analytics on the columnstore index and transactions on the rowstore index at the same time. La banque des colonnes (columnstore) est mise à jour lors de la modification des données de la table rowstore. Les deux index utilisent donc les mêmes données.The column store is updated when data changes in the rowstore table, so both indexes are working against the same data.

Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), vous pouvez avoir un ou plusieurs index non cluster rowstore sur un index columnstore.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can have one or more nonclustered rowstore indexes on a columnstore index. Ce faisant, vous pouvez effectuer des recherches de tables efficaces sur le columnstore sous-jacent.By doing this, you can perform efficient table seeks on the underlying columnstore. D’autres options sont également disponibles.Other options become available too. Par exemple, vous pouvez appliquer une contrainte de clé primaire à l’aide d’une contrainte UNIQUE sur la table rowstore.For example, you can enforce a primary key constraint by using a UNIQUE constraint on the rowstore table. Dans la mesure où une valeur non unique ne peut pas être insérée dans la table rowstore, SQL ServerSQL Server ne peut pas insérer la valeur dans le columnstore.Since an non-unique value will fail to insert into the rowstore table, SQL ServerSQL Server cannot insert the value into the columnstore.

MétadonnéesMetadata

Toutes les colonnes dans un index columnstore sont stockées dans les métadonnées en tant que colonnes incluses.All of the columns in a columnstore index are stored in the metadata as included columns. L'index columnstore n'a pas de colonnes clés.The columnstore index does not have key columns.

sys.indexes (Transact-SQL)sys.indexes (Transact-SQL) sys.index_columns (Transact-SQL)sys.index_columns (Transact-SQL)
sys.partitions (Transact-SQL)sys.partitions (Transact-SQL) sys.internal_partitions (Transact-SQL)sys.internal_partitions (Transact-SQL)
sys.column_store_segments (Transact-SQL)sys.column_store_segments (Transact-SQL) sys.column_store_dictionaries (Transact-SQL)sys.column_store_dictionaries (Transact-SQL)
sys.column_store_row_groups (Transact-SQL)sys.column_store_row_groups (Transact-SQL) sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)
sys.dm_db_column_store_row_group_physical_stats (Transact-SQL)sys.dm_db_column_store_row_group_physical_stats (Transact-SQL) sys.dm_column_store_object_pool (Transact-SQL)sys.dm_column_store_object_pool (Transact-SQL)
sys.dm_db_column_store_row_group_operational_stats (Transact-SQL)sys.dm_db_column_store_row_group_operational_stats (Transact-SQL) sys.dm_db_index_operational_stats (Transact-SQL)sys.dm_db_index_operational_stats (Transact-SQL)
sys.dm_db_index_physical_stats (Transact-SQL)sys.dm_db_index_physical_stats (Transact-SQL)

Toutes les tables relationnelles, sauf si vous les spécifiez en tant qu’index cluster columnstore, utilisent rowstore comme format de données sous-jacent.All relational tables, unless you specify them as a clustered columnstore index, use rowstore as the underlying data format. CREATE TABLE crée une table rowstore, sauf si vous spécifiez l’option WITH CLUSTERED COLUMNSTORE INDEX.CREATE TABLE creates a rowstore table unless you specify the WITH CLUSTERED COLUMNSTORE INDEX option.

Quand vous créez une table avec l’instruction CREATE TABLE, vous pouvez la créer en tant que table columnstore en spécifiant l’option WITH CLUSTERED COLUMNSTORE INDEX.When you create a table with the CREATE TABLE statement you can create the table as a columnstore by specifying the WITH CLUSTERED COLUMNSTORE INDEX option. Si vous avez déjà une table rowstore et que vous souhaitez la convertir au format columnstore, utilisez l’instruction CREATE COLUMNSTORE INDEX.If you already have a rowstore table and want to convert it to a columnstore, you can use the CREATE COLUMNSTORE INDEX statement.

TâcheTask Rubriques de référenceReference Topics RemarquesNotes
Créer une table sous forme de columnstoreCreate a table as a columnstore. CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL) Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), vous pouvez créer la table en tant qu’index cluster columnstore.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can create the table as a clustered columnstore index. Il est inutile de créer au préalable une table rowstore, puis de la convertir en columnstore.You do not have to first create a rowstore table and then convert it to columnstore.
Créer une table mémoire avec un index columnstore.Create a memory table with a columnstore index. CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL) Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), vous pouvez créer une table optimisée en mémoire avec un index columnstore.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), you can create a memory-optimized table with a columnstore index. L’index columnstore peut également être ajouté après la création de la table, à l’aide de la syntaxe ALTER TABLE ADD INDEX.The columnstore index can also be added after the table is created, using the ALTER TABLE ADD INDEX syntax.
Convertir une table rowstore en table columnstoreConvert a rowstore table to a columnstore. CREATE COLUMNSTORE INDEX (Transact-SQL)CREATE COLUMNSTORE INDEX (Transact-SQL) Convertissez un segment de mémoire ou un arbre binaire existant en columnstore.Convert an existing heap or binary tree to a columnstore. Les exemples montrent comment gérer les index existants, ainsi que le nom de l’index lors de cette conversion.Examples show how to handle existing indexes and also the name of the index when performing this conversion.
Convertir une table columnstore en rowstoreConvert a columnstore table to a rowstore. CREATE COLUMNSTORE INDEX (Transact-SQL)CREATE COLUMNSTORE INDEX (Transact-SQL) Cela n’est généralement pas nécessaire, mais dans certains cas, vous devrez peut-être effectuer cette conversion.Usually this is not necessary, but there can be times when you need to perform this conversion. Les exemples montrent comment convertir un columnstore en segment de mémoire ou index cluster.Examples show how to convert a columnstore to a heap or clustered index.
Créer un index columnstore sur une table rowstoreCreate a columnstore index on a rowstore table. CREATE COLUMNSTORE INDEX (Transact-SQL)CREATE COLUMNSTORE INDEX (Transact-SQL) Une table rowstore ne peut avoir qu’un seul index columnstore.A rowstore table can have one columnstore index. Depuis SQL Server 2016 (13.x)SQL Server 2016 (13.x), l’index columnstore peut avoir une condition de filtrage.Beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x), the columnstore index can have a filtered condition. Les exemples affichent la syntaxe de base.Examples show the basic syntax.
Créer des index performants pour l’analytique opérationnelleCreate performant indexes for operational analytics. Prise en main de columnstore pour l’analytique opérationnelle en temps réelGet started with Columnstore for real time operational analytics Décrit comment créer des index columnstore et btree complémentaires afin que les requêtes OLTP utilisent les index btree et que les requêtes analytiques utilisent les index columnstore.Describes how to create complementary columnstore and btree indexes so that OLTP queries use btree indexes and analytics queries use columnstore indexes.
Créer des index columnstore performants pour l’entreposage des donnéesCreate performant columnstore indexes for data warehousing. Index columnstore pour l’entreposage des donnéesColumnstore Indexes for Data Warehousing Décrit l’utilisation des index btree sur les tables columnstore pour créer des requêtes performantes en matière d’entreposage des données.Describes how to use btree indexes on columnstore tables to create performant data warehousing queries.
Utiliser un index btree pour appliquer une contrainte de clé primaire sur un index columnstoreUse a btree index to enforce a primary key constraint on a columnstore index. Index columnstore pour l’entreposage des donnéesColumnstore Indexes for Data Warehousing Montre comment combiner des index btree et columnstore pour appliquer des contraintes de clé primaire sur l’index columnstore.Shows how to combine btree and columnstore indexes to enforce primary key constraints on the columnstore index.
Abandonner un index columnstoreDrop a columnstore index DROP INDEX (Transact-SQL)DROP INDEX (Transact-SQL) L’abandon d’un index columnstore utilise la syntaxe DROP INDEX standard utilisée par les index btree.Dropping a columnstore index uses the standard DROP INDEX syntax that btree indexes use. L’abandon d’un index cluster columnstore convertit la table columnstore en segment de mémoire.Dropping a clustered columnstore index will convert the columnstore table to a heap.
Supprimer une ligne d’un index columnstoreDelete a row from a columnstore index DELETE (Transact-SQL)DELETE (Transact-SQL) Utilisez DELETE (Transact-SQL) pour supprimer une ligne.Use DELETE (Transact-SQL) to delete a row.

Lignecolumnstore : SQL ServerSQL Server marque la ligne comme étant supprimée logiquement, mais ne récupère pas le stockage physique pour la ligne tant que l’index n’est pas reconstruit.columnstore row: SQL ServerSQL Server marks the row as logically deleted but does not reclaim the physical storage for the row until the index is rebuilt.

Lignedeltastore : SQL ServerSQL Server supprime la ligne logiquement et physiquement.deltastore row: SQL ServerSQL Server logically and physically deletes the row.
Mettre à jour une ligne dans l’index columnstoreUpdate a row in the columnstore index UPDATE (Transact-SQL)UPDATE (Transact-SQL) Utilisez UPDATE (Transact-SQL) pour mettre à jour une ligne.Use UPDATE (Transact-SQL) to update a row.

Lignecolumnstore : SQL ServerSQL Server marque la ligne comme étant supprimée logiquement, puis insère la ligne mise à jour dans le deltastore.columnstore row: SQL ServerSQL Server marks the row as logically deleted, and then inserts the updated row into the deltastore.

Lignedeltastore : SQL ServerSQL Server met à jour la ligne dans le deltastore.deltastore row: SQL ServerSQL Server updates the row in the deltastore.
Charger des données dans un index columnstoreLoad data into a columnstore index Chargement de données d’index columnstoreColumnstore Indexes Data Loading
Obliger toutes les lignes du deltastore à aller dans le columnstore.Force all rows in the deltastore to go into the columnstore. ALTER INDEX (Transact-SQL) ... REBUILDALTER INDEX (Transact-SQL) ... REBUILD

Défragmentation des index columnstoreColumnstore Indexes Defragmentation
ALTER INDEX avec l’option REBUILD oblige toutes les lignes à aller dans le columnstore.ALTER INDEX with the REBUILD option forces all rows to go into the columnstore.
Défragmenter un index columnstoreDefragment a columnstore index ALTER INDEX (Transact-SQL)ALTER INDEX (Transact-SQL) ALTER INDEX …ALTER INDEX … REORGANIZE défragmente les index columnstore en ligne.REORGANIZE defragments columnstore indexes online.
Fusionner des tables avec les index columnstoreMerge tables with columnstore indexes. MERGE (Transact-SQL)MERGE (Transact-SQL)

Voir aussiSee Also

Chargement de données d’index columnstore Columnstore Indexes Data Loading
Synthèse des fonctionnalités des index columnstore en fonction des versions Columnstore Indexes Versioned Feature Summary
Performances des requêtes d’index columnstore Columnstore Indexes Query Performance
Prise en main de columnstore pour l’analytique opérationnelle en temps réel Get started with Columnstore for real time operational analytics
Index columnstore pour l’entreposage des données Columnstore Indexes for Data Warehousing
Index columnstore - Défragmentation Columnstore Indexes Defragmentation
Guide de conception d’index SQL Server SQL Server Index Design Guide
Index columnstore - ArchitectureColumnstore Index Architecture