Différence entre l'index cluster et non cluster

Différence entre l'index cluster et non cluster
Différence entre l'index cluster et non cluster

Vidéo: Différence entre l'index cluster et non cluster

Vidéo: Différence entre l'index cluster et non cluster
Vidéo: Taux d'intérêt, rendement et prix des obligations 2024, Novembre
Anonim

Indice cluster vs non cluster

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

1. Index B-tree

2. Index bitmap

3. Index basés sur les fonctions

4. Index à clé inversée

5. Index de cluster B-tree

Qu'est-ce qu'un index non-cluster ?

Parmi les types d'index ci-dessus, voici les index non clusterisés.

• Index B-tree

• Index Bitmap

• Index basé sur les fonctions

• Index à clé inversée

Les index B-tree sont le type d'index de bases de données le plus largement utilisé. Si la commande CREATE INDEX est émise sur la base de données, sans spécifier de type, le serveur Oracle crée un index b-tree. Lorsqu'un index b-tree est créé sur une colonne spécifique, le serveur oracle stocke les valeurs de la colonne et conserve une référence à la ligne réelle de la table.

Les index Bitmap sont créés lorsque les données de la colonne ne sont pas très sélectives. Cela signifie que les données de la colonne ont une faible cardinalité. 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 hautement modifiables 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 habituelle. Il trie les valeurs des colonnes après application de la fonction. Celles-ci sont très utiles lorsque la fermeture WHERE de la requête de sélection est utilisée comme fonction.

Les index à clé inversée sont un type d'index très intéressant. Supposons qu'une colonne contienne 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 parties suivantes sont modifiées. Ainsi, lorsque l'index de clé REVERSE est créé sur cette colonne, Oracle inverse la chaîne et la restaure dans un index b-tree.

Les types d'index mentionnés ci-dessus sont des index NON-CLUSTERED. Cela signifie que les données indexées sont stockées en dehors de la table et qu'une référence triée à la table est conservée.

Qu'est-ce qu'un index cluster ?

Les index clusterisés sont un type spécial d'index. Il stocke les données selon la manière de stocker physiquement les données de la table. Ainsi, il ne peut pas y avoir plusieurs index clusterisés pour une table. Une table ne peut avoir qu'un seul index clusterisé.

Quelle est la différence entre les index clusterisés et non clusterisés ?

1. Une table ne peut avoir qu'un seul index clusterisé, mais il peut y avoir jusqu'à 249 index non clusterisés dans une table.

2. Un index clusterisé est automatiquement créé lors de la création d'une clé primaire, mais un index non clusterisé est créé lors de la création d'une clé unique.

3. L'ordre logique de l'index clusterisé correspond à l'ordre physique des données de la table, mais ce n'est pas le cas dans les index non clusterisés.

Conseillé: