Cluster vs Non Cluster Index
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 gérer automatiquement ses index sans aucune implication d'un administrateur de base de données, 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, les éléments suivants sont des index non clusterisés..
• index b-arbre
• index bitmap
• Index basé sur les fonctions
• Index à clé inversée
Les index B-tree sont le type d'index le plus largement utilisé dans les bases de données. 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, Oracle Server stocke les valeurs de la colonne et conserve une référence à la ligne réelle de la table..
Des 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é basse. 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 manière normale. Il trie les valeurs des colonnes après avoir appliqué la fonction. Celles-ci sont très utiles lorsque la fermeture WHERE de la requête select est utilisée par une 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, telles que «villeA», «villeB», «villeC», etc. Toutes les valeurs ont un motif. Les quatre premiers caractères sont identiques 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 clusterisé??
Les index clusterisés 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 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. La table ne peut avoir qu'un seul index clusterisé, mais il peut y avoir jusqu'à 249 index non clusterisés dans une table.. 2. L'index en cluster est créé automatiquement à la création d'une clé primaire, mais un index non en cluster est créé à la création d'une clé unique.. 3. L'ordre logique de l'index en cluster correspond à l'ordre physique des données de la table, mais dans les index non en cluster,. |