Recommandé, 2024

Choix De L'Éditeur

Différence entre les index clusterisés et non clusterisés

Les index en cluster et non en cluster sont les types d'index de classement à un niveau, où l'index en cluster détermine la manière dont les données sont stockées dans les lignes d'une table. D'autre part, l'index non mis en cluster stocke les données à un seul endroit et les index sont stockés à un autre endroit. De plus, chaque table ne peut avoir qu'un seul index en cluster. Par contre, dans le cas d'un index non clusterisé, une table peut avoir plusieurs index non clusterisés.

Les index sont essentiellement nécessaires pour une application efficace des contraintes d'intégrité et un traitement efficace des requêtes et des transactions. Ceux-ci sont créés sur des tables et des vues. Par exemple, les index utilisés dans les livres qui permettent à un utilisateur d’accéder rapidement au contenu d’un livre, nous avons également les index sur le code SQL.

Tableau de comparaison

Base de comparaisonIndex clusteriséIndex non clusterisé
De baseDétermine l'ordre de stockage des lignes d'une table dans son ensemble.Détermine l'ordre de stockage des lignes d'une table à l'aide d'une structure physique distincte.
Nombre d'index autorisés par tableUn seul index clusteriséPlusieurs index non clusterisés
Accès aux donnéesplus rapidePlus lent par rapport à l'index clusterisé
Espace disque supplémentairePas besoinNécessaire pour stocker les index séparément

Définition de l'index clusterisé

L' index clusterisé est essentiellement utilisé pour ordonner les lignes d'une table. Une table ne peut contenir qu'un seul index en cluster car les lignes d'une table ne peuvent être triées que dans un seul ordre, mais il existe des moyens de créer un index en cluster composite . Les colonnes sont incluses dans l'index clusterisé et l'ordre logique ou indexé des valeurs de clé est identique à l'ordre physiquement stocké des lignes correspondantes. Lorsqu'il n'y a pas d'index en cluster pour les données, il est stocké dans un segment de mémoire.

L'accès à l'enregistrement dans un segment de mémoire prend beaucoup de temps. Chaque entrée d'une table est analysée pour accéder aux données souhaitées. Dans l'analyse de la table, il n'y avait aucun moyen de savoir s'il y avait plus de correspondances disponibles ou non. Donc, cette méthode était très inefficace.

Lorsque vous utilisez un index clusterisé, l'accès aux données est plus rapide et systématique, la table étant organisée dans un ordre quelconque. Il est défini dans le champ de classement de la table. Sa clé de recherche utilisée spécifie la disposition séquentielle du fichier ou de la table. Un index en cluster est automatiquement créé lorsqu'une clé primaire est définie pour une table.

Définition d'index non clusterisé

L' index non clusterisé stocke les données à un endroit et les index à un endroit différent et l'index aurait des pointeurs sur l'emplacement de stockage des données. Une table peut avoir plusieurs index non clusterisés car l'index de l'index non clusterisé est stocké à un emplacement différent. Par exemple, un livre peut avoir plus d'un index, un au début indiquant le contenu d'une unité de livre et un autre à la fin, indiquant l'index des termes dans l'ordre alphabétique.

Il est défini dans le champ de non-classement de la table. L'index non clusterisé pourrait améliorer les performances des requêtes utilisant des clés autres que les clés primaires. Un index non clusterisé est automatiquement créé lorsqu'une clé unique est définie pour une table.

Principales différences entre les index clusterisés et non clusterisés

  1. Le nombre d'index en cluster qu'une table peut avoir est un seul. Alors qu'une table peut avoir plusieurs index non clusterisés.
  2. Un index clusterisé est plus rapide qu'un index non cluster, car l'index non cluster doit faire référence à la table de base. Au contraire, ce n'est pas le cas dans l'index clusterisé.
  3. Dans un index non mis en cluster, l'index est stocké dans un emplacement distinct qui nécessite un espace de stockage supplémentaire. En revanche, l'index clusterisé stocke les données de la table de base dans le même ordre physique que l'ordre logique de l'index, de sorte qu'il ne nécessite pas d'espace de stockage supplémentaire.

Conclusion

L'index clusterisé est un moyen de stocker des données dans les lignes d'une table dans un ordre particulier. Ainsi, lorsque la recherche des données souhaitées est effectuée, la seule ligne correspondante contenant les données et affectée est affectée. D'autre part, l'index non clusterisé réside dans une structure physiquement séparée qui fait référence aux données de base lors de la recherche. Une structure non clusterisée peut avoir un ordre de tri différent.

Top