Différence entre Clustered et index non groupé

Différence clé entre ClusterIndex ed et non groupé

  • Un index de cluster est un type d'index qui trie les lignes de donnĂ©es du tableau en fonction de leurs valeurs clĂ©s, tandis que l'index non clusterisĂ© stocke les donnĂ©es Ă  un emplacement et les index Ă  un autre emplacement.
  • ClusterL'index ed stocke les pages de donnĂ©es dans les nĹ“uds feuilles de l'index, tandis que la mĂ©thode d'index non clusterisĂ© ne stocke jamais les pages de donnĂ©es dans les nĹ“uds feuilles de l'index.
  • L'index de cluster ne nĂ©cessite pas d'espace disque supplĂ©mentaire, tandis que l'index non clusterisĂ© nĂ©cessite de l'espace disque supplĂ©mentaire.
  • Cluster L'index offre un accès aux donnĂ©es plus rapide, en revanche, l'index non clusterisĂ© est plus lent.
Différence entre ClusterIndex ed et non groupé
Clustered vs index non groupé

Qu'est-ce qu'un index?

Un index est une clé construite à partir d'une ou plusieurs colonnes de la base de données qui accélère la récupération des lignes de la table ou de la vue. Cette clé aide une base de données comme Oracle, Serveur SQL, MySQL, etc. pour trouver rapidement la ligne associée aux valeurs clés.

Il existe deux types d'index :

  • Clustered Index
  • Non-Clustered Index

Qu'est-ce que la Clusterindice ed ?

Cluster index est un type d'index qui trie les lignes de données d'une table en fonction de leurs valeurs clés. Dans la base de données, il n'existe qu'un seul index groupé par table.

Un index clusterisé définit l'ordre dans lequel les données sont stockées dans la table qui ne peut être triée que d'une seule manière. Ainsi, il ne peut y avoir qu’un seul index clusterisé pour chaque table. Dans un SGBDR, la clé primaire vous permet généralement de créer un index clusterisé basé sur cette colonne spécifique.

Qu’est-ce qu’un index non clusterisĂ© ?

Un index non clusterisé stocke les données à un emplacement et les index à un autre emplacement. L'index contient des pointeurs vers l'emplacement de ces données. Une seule table peut avoir plusieurs index non clusterisés, car un index de l'index non clusterisé est stocké à différents endroits.

Par exemple, un livre peut avoir plusieurs index, un au début qui affiche le contenu d'un livre par unité tandis que le deuxième index affiche l'index des termes par ordre alphabétique.
Un index non clusterisant est défini dans le champ non trié de la table. Ce type de méthode d'indexation vous aide à améliorer les performances des requêtes qui utilisent des clés qui ne sont pas affectées comme clé primaire. Un index non clusterisé vous permet d'ajouter une clé unique pour une table.

Caractéristique de Clustered Index

  • Stockage des donnĂ©es par dĂ©faut et triĂ©es
  • Utilisez une ou plusieurs colonnes pour un index
  • Vous aide Ă  stocker les donnĂ©es et l'index ensemble
  • Fragmentation
  • OpĂ©rations
  • Clusteranalyse d'index ed et recherche d'index
  • Recherche de clĂ©

Caractéristiques des index non clusterisés

  • Stocker uniquement les valeurs clĂ©s
  • Pointeurs vers le tas/Clustered Lignes d'index
  • Permet l'accès aux donnĂ©es secondaires
  • Pont vers les donnĂ©es
  • Operafonctions de numĂ©risation d'index et de recherche d'index
  • Vous pouvez crĂ©er un index non clusterisĂ© pour une table ou une vue
  • Chaque ligne d'index de l'index non clusterisĂ© stocke la valeur de la clĂ© non clusterisĂ©e et un localisateur de lignes.

ClusterIndex ed vs index non clusterisĂ© dans SQL : principales diffĂ©rences

Paramètres Clustered Non clusterisé
Utiliser pour Vous pouvez trier les enregistrements et stocker physiquement l'index clusterisé en mémoire selon l'ordre. Un index non clusterisé vous aide à créer un ordre logique pour les lignes de données et utilise des pointeurs pour les fichiers de données physiques.
Méthode de stockage Vous permet de stocker les pages de données dans les nœuds feuilles de l'index. Cette méthode d'indexation ne stocke jamais les pages de données dans les nœuds feuilles de l'index.
Taille La taille de l'index clusterisé est assez grande. La taille de l'index non clusterisé est petite par rapport à l'index clusterisé.
Accès aux données plus rapide Plus lent par rapport à l'index clusterisé
Espace disque supplémentaire Non requis Obligatoire pour stocker l'index séparément
Type de clé Par défaut, les clés primaires de la table sont un Clustered Index. Il peut être utilisé avec une contrainte unique sur la table qui fait office de clé composite.
Caractéristique principale Un index clusterisé peut améliorer les performances de récupération des données. Il doit être créé sur les colonnes utilisées dans les jointures.

Un exemple d'index clusterisé

Dans l'exemple ci-dessous, SalesOrderDetailID est l'index clusterisé. Exemple de requête pour récupérer des données

SELECT CarrierTrackingNumber, UnitPrice
FROM SalesData
WHERE SalesOrderDetailID = 6

Exemple d'index clusterisé

Un exemple d'index non clusterisé

Dans l'exemple ci-dessous, un index non cluster est créé sur OrderQty et ProductID comme suit

CREATE INDEX myIndex ON
SalesData (ProductID, OrderQty)

Exemple d'index non clusterisé

La requête suivante sera récupérée plus rapidement que l'index clusterisé.

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

Exemple d'index non clusterisé

Avantages de Clustered Index

Les avantages/avantages de l’index clusterisĂ© sont :

  • ClusterLes index ed sont une option idĂ©ale pour les requĂŞtes de type plage ou groupe avec max, min, count
  • Dans ce type d'index, une recherche peut aller directement Ă  un point spĂ©cifique des donnĂ©es afin que vous puissiez continuer Ă  lire sĂ©quentiellement Ă  partir de lĂ .
  • ClusterLa mĂ©thode d'index ed utilise un mĂ©canisme de localisation pour localiser l'entrĂ©e d'index au dĂ©but d'une plage.
  • Il s'agit d'une mĂ©thode efficace pour les recherches par plage lorsqu'une plage de valeurs clĂ©s de recherche est demandĂ©e.
  • Vous aide Ă  minimiser les transferts de pages et Ă  maximiser les accès au cache.

Avantages de l'index non clusterisé

Les avantages de l'utilisation d'un index non clusterisĂ© sont :

  • Un index non clusterisĂ© vous aide Ă  rĂ©cupĂ©rer rapidement les donnĂ©es de la table de base de donnĂ©es.
  • Vous aide Ă  Ă©viter les frais gĂ©nĂ©raux associĂ©s Ă  l’index clusterisĂ©
  • Une table peut avoir plusieurs index non clusterisĂ©s dans RDBMS. Ainsi, il peut ĂŞtre utilisĂ© pour crĂ©er plusieurs index.

Inconvénients de Clustered Index

Voici les inconvĂ©nients/inconvĂ©nients de l’utilisation d’un index clusterisĂ© :

  • Beaucoup d'inserts dans un ordre non sĂ©quentiel
  • Un index clusterisĂ© crĂ©e de nombreuses divisions de pages constantes, qui incluent des pages de donnĂ©es ainsi que des pages d'index.
  • Travail supplĂ©mentaire pour SQL pour les insertions, les mises Ă  jour et les suppressions.
  • Un index clusterisĂ© prend plus de temps pour mettre Ă  jour les enregistrements lorsque les champs de l'index cluster sont modifiĂ©s.
  • Les nĹ“uds feuilles contiennent principalement des pages de donnĂ©es dans l'index clusterisĂ©.

Inconvénients de l'index non clusterisé

Voici les inconvĂ©nients/inconvĂ©nients de l’utilisation d’un index non clusterisĂ© :

  • Un index non clusterisĂ© vous aide Ă  stocker les donnĂ©es dans un ordre logique mais ne permet pas de trier physiquement les lignes de donnĂ©es.
  • Le processus de recherche sur un index non clusterisĂ© devient coĂ»teux.
  • Chaque fois que la clĂ© de clustering est mise Ă  jour, une mise Ă  jour correspondante est requise sur l'index non clusterisĂ© car il stocke la clĂ© de clustering.

Résumez cet article avec :