Différence entre le cluster et l'indice non cluster

Différence entre le cluster et l'indice non cluster

Cluster vs index non cluster

Les index sont très importants dans n'importe quelle base de données. Ils sont utilisés pour améliorer les performances de la récupération des données des tables. Ils sont logiquement et physiquement indépendants des données dans les tables associées. Par conséquent, les index peuvent être baissés, recréés et reconstruire sans affecter les données des tables de base. Oracle Server peut automatiquement maintenir ses index sans aucune implication d'un DBA, lorsque les tables connexes sont insérées, mises à jour et supprimées. Il existe plusieurs types d'index. En voici quelques uns.

1. Index de B-Tree

2. Index bitmap

3. Index basés sur la fonction

4. Index de touche inverse

5. Index de cluster B-Tree

Qu'est-ce qu'un index non de grappe?

À partir des types d'index ci-dessus, les index non cluster sont.

• Index B-Tree

• Index bitmap

• Index basé sur la fonction

• Index de clé inverse

Les index de B-Tree sont le type d'index le plus utilisé des bases de données. Si la commande Create Index est émise sur la base de données, sans spécifier de type, Oracle Server crée un index B-Tree. Lorsqu'un index B-Tree est créé sur une colonne spécifique, Oracle Server stocke les valeurs de la colonne et conserve une référence à la ligne réelle du tableau.

Les index bitmap sont créés lorsque les données de colonne ne sont pas très sélectives. Cela signifie que les données de colonne ont une cardinalité faible. Ceux-ci sont spécialement conçus pour les entrepôts de données, et il n'est pas bon d'utiliser des index bitmap sur des tables très mises à jour ou transactionnelles.

Les index fonctionnels proviennent d'Oracle 8i. Ici, une fonction est utilisée dans la colonne indexée. Par conséquent, dans un index fonctionnel, les données de colonne ne sont pas triées de la manière normale. Il trie les valeurs des colonnes après avoir appliqué la fonction. Ceux-ci sont très utiles lorsque la fermeture de la requête sélectionnée est utilisée une fonction.

Les index à clé inverse sont un type d'index très intéressant. Supposons qu'une colonne contient de nombreuses données de chaîne uniques comme «Citya», «CityB», «Cityc»… etc. Toutes les valeurs ont un modèle. Les quatre premiers caractères sont les mêmes et les prochaines parties sont modifiées. Ainsi, lorsque l'index de la clé inverse est créé sur cette colonne, Oracle inversera la chaîne et la restaurera dans un index B-Tree.

Les types d'index mentionnés ci-dessus sont des index non groupés. Cela signifie que les données indexées sont stockées à l'extérieur du tableau, et une référence triée au tableau est conservée. 

Qu'est-ce qu'un index en grappe?

Les index en cluster sont un type spécial d'index. Il stocke les données en fonction de la manière de stocker physiquement les données de la table. Donc, il ne peut pas y avoir beaucoup d'index en grappe pour un tableau. Un tableau ne peut avoir qu'un seul index en grappe.

Quelle est la différence entre les index en cluster et non cluster?

1. La table ne peut avoir qu'un seul index en grappe, mais il peut y avoir jusqu'à 249 index non clusters dans un seul tableau.

2. L'index en cluster est automatiquement créé lorsqu'une clé primaire est créée, mais un index non cluster est créé lorsqu'une clé unique est créée.

3. L'ordre logique de l'index en cluster correspond à l'ordre physique des données de la table, mais dans les index non cluster, il ne.