Index
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Base de données SQL dans Microsoft Fabric
Types d’index disponibles
La table suivante répertorie les types d’index disponibles dans SQL Server et contient des liens vers des informations supplémentaires.
Type d’index | Description | Informations supplémentaires |
---|---|---|
Hash | Avec un index de hachage, les données sont accédées via une table de hachage en mémoire. Les index de hachage consomment une quantité fixe de mémoire, en fonction du nombre de compartiments. | Instructions pour utiliser les index sur les tables optimisées en mémoire Indications pour la conception d’index de hachage |
index non-cluster à mémoire optimisée | Pour les index non cluster optimisés en mémoire, la consommation de mémoire est une fonction du nombre de lignes et de la taille des colonnes de clés d'index | Instructions pour utiliser les index sur les tables optimisées en mémoire Indications pour la conception d’index non-cluster à mémoire optimisée |
Cluster | Un index cluster trie et stocke les lignes de données de la table ou de la vue en fonction de la clé d'index cluster. L'index cluster est mis en œuvre sous la forme d'une structure d'index arborescente binaire permettant la récupération rapide des lignes d'après leurs valeurs clés de l'index cluster. | Description des index cluster et non cluster Créer des index cluster Indications pour la conception d’index cluster |
Non-cluster | Les index non cluster peuvent être définis dans une table ou dans une vue dotée d'un index cluster ou d'un segment de mémoire. Chaque ligne d'un index non cluster contient la valeur clé non cluster ainsi qu'un localisateur de ligne. Le localisateur pointe vers la ligne de données dans l'index cluster ou dans le segment doté de la valeur clé. Les lignes de l'index sont stockées selon l'ordre des valeurs clés de l'index. L'ordre spécifique des lignes de données n'est garanti que si un index cluster est créé sur la table. | Description des index cluster et non cluster Créez des index non-cluster Indications pour la conception d’index non-cluster |
Unique | Un index unique garantit que la clé de l'index ne contient pas de valeur dupliquée et que toute ligne de la table ou de la vue est en quelque sorte unique. L'unicité peut être une propriété à la fois des index cluster et non cluster. |
Créer des index uniques Indications pour la conception d’index uniques |
columnstore | Un index columnstore en mémoire stocke et gère des données à l'aide du stockage des données en colonnes et du traitement des requêtes en colonnes. Les index columnstore fonctionnent bien pour les charges de travail de stockage de données qui effectuent principalement des chargements en masse et des requêtes en lecture seule. Utilisez l’index columnstore pour atteindre des performances des requêtes pouvant être multipliées par 10 par rapport au stockage orienté lignes traditionnel, et une compression de données multipliée par 7 par rapport à la taille des données non compressées. |
Description des index columnstore Indications pour la conception d’index columnstore |
Index à colonnes incluses | Index non cluster qui est étendu pour inclure des colonnes non clés en plus des colonnes clés. | Créer des index avec colonnes incluses |
Index sur les colonnes calculées | Index sur une colonne dérivée de la valeur d'une ou de plusieurs autres colonnes, ou certaines entrées déterministes. | Index sur les colonnes calculées |
Filtré | Index non cluster optimisé, convenant tout particulièrement aux requêtes qui effectuent des sélections dans un sous-ensemble précis de données. Il utilise un prédicat de filtre pour indexer une partie des lignes de la table. Un index filtré bien conçu peut améliorer les performances des requêtes, réduire les coûts de maintenance des index et réduire les coûts de stockage des index par rapport aux index de table entière. | Créer des index filtrés Indications pour la conception d’index filtrés |
Spatial | Un index spatial permet d’effectuer plus efficacement certaines opérations sur des objets spatiaux (données spatiales) dans une colonne du type de données géométrie . L'index spatial réduit le nombre d'objets sur lesquels des opérations spatiales relativement coûteuses doivent être appliquées. | Vue d’ensemble des index spatiaux |
XML | Représentation fragmentée et permanente des objets binaires XML de taille importante (BLOB) dans la colonne de type de données xml. | Index XML (SQL Server) |
Texte intégral | Un type spécial d’index fonctionnel par jeton qui est construit et géré par le Moteur d’indexation et de recherche en texte intégral Microsoft pour SQL Server. Il permet de prendre en charge efficacement toute recherche de mot sophistiqué dans des chaînes de données caractères. | Alimenter des index de recherche en texte intégral |
Remarque
De manière générale, la documentation SQL Server utilise le terme B-tree en référence aux index. Dans les index rowstore, le moteur de base de données implémente une structure B+. Cela ne s’applique pas aux index columnstore ou aux index sur les tables à mémoire optimisée. Pour plus d’informations, consultez le Guide de conception et d’architecture d’index SQL Server et Azure SQL.
Contenu connexe
- Guide de conception et d’architecture d’index SQL Server et Azure SQL
- Option SORT_IN_TEMPDB pour les index
- Désactiver les index et les contraintes
- Activer des index et des contraintes
- Renommer des index
- Définir les options d’index
- Espace disque nécessaire pour les opérations DDL sur les index
- Optimiser la maintenance des index pour améliorer les performances des requêtes et réduire la consommation des ressources
- Spécifier un facteur de remplissage pour un index
- Guide d’architecture des pages et des étendues
- Index en cluster et non cluster