Différence entre B-Tree et Bitmap

B-Tree et Bitmap

Deux types d’index sont utilisés dans Oracle. Ce sont B-Tree et Bitmap. Ces index sont utilisés pour l'optimisation des performances, ce qui permet de rechercher et de récupérer rapidement des enregistrements. Les fonctions d'index créent une entrée pour toutes les valeurs qui apparaissent dans les colonnes indexées. Les index B-Tree sont le type utilisé par les systèmes OLTP et qui sont principalement implémentés par défaut. Bitmap, en revanche, se présente sous la forme d’un format d’index fortement compressé qui, dans la plupart des cas, est utilisé dans des entrepôts de données..

Bitmap peut en général être considéré comme une méthode d’indexation permettant de rechercher les avantages en termes de performances et les économies de stockage. Comme indiqué précédemment, son utilisation se situe principalement dans l'environnement d'entreposage de données. La raison en est que les mises à jour des données ne sont pas aussi fréquentes et que les requêtes ad hoc sont davantage dans l'environnement. Dans l'implémentation de Bitmap, les données cardinales basses sont préférées. Bitmap est le choix préféré pour les éléments de colonne qui ont des options faibles, telles que le genre, qui auront 2 valeurs uniquement et qui sont préférées. Les données statiques dans l'entrepôt sont également une bonne caractéristique des données qui seraient parfaitement mises en œuvre avec Bitmap. Une autre caractéristique de Bitmap est un flux de bits dans lequel chaque bit est implémenté en une valeur de colonne dans une seule ligne d'un tableau..

Un index B-tree, en revanche, est un index créé sur des colonnes contenant des valeurs très uniques. L'index B-Tree a des entrées ordonnées, chaque entrée ayant une valeur de clé de recherche et un pointeur faisant référence à une ligne et à une valeur données. Si un serveur trouve une contrainte de correspondance liée à la valeur en question, le pointeur est déployé pour extraire la ligne..

Une des différences entre les deux est qu’il existe une faible duplication et une grande co-cordialité dans B-Tree alors que l’inverse se produit dans Bitmap. Bitmap a un nombre élevé d'instances de duplication et une faible cordialité. L'index bitmap est considéré comme avantageux par rapport à l'index B-Tree, car il contient des tables comportant des millions de lignes car les colonnes spécifiées ont une cardinalité faible. Les index dans Bitmap offrent donc de meilleures performances que les index B-Tree..

Les arbres B semblent être extrêmement rapides lorsqu'un petit ensemble de données est collecté. Dans la plupart des cas, les données ne doivent pas dépasser 10% de la taille de la base de données. Ces deux fonctionnent ensemble quand il y a beaucoup de valeurs distinctes qui sont indexées. Il est également unique à B-Tree que plusieurs index puissent être fusionnés pour produire un programme très efficace. Les images bitmap, en revanche, ont tendance à fonctionner mieux lorsqu'il existe des valeurs indexées inférieures pour une efficacité maximale..

Les arbres B sont médiocres lorsqu'il s'agit de rechercher des sous-ensembles de données plus grands qui dépassent 10% des données du sous-ensemble. Bitmap relève ce défi pour fournir des résultats de haute qualité, car il fonctionne mieux lorsqu'il y a peu de valeurs distinctes..

S'il existe de nombreux index dans une table occupée utilisant B-Tree, un problème peut survenir du fait de petites pénalités imposées lors de l'insertion de données indexées ou dans le cas où vous devez insérer et mettre à jour des données indexées. Ce n'est pas un problème avec Bitmap, car il est très efficace pour insérer et mettre à jour des valeurs, quelle que soit la taille en question..

Résumé

B-Tree et Bitmap sont deux types d’index utilisés dans Oracle.
Bitmap est une méthode d'indexation offrant des avantages en termes de performances et d'économie de stockage.
L'index B-Tree est un index créé sur des colonnes contenant des valeurs très uniques.
B-Tree fonctionne mieux avec de nombreuses valeurs indexées distinctes
Bitmap fonctionne mieux avec de nombreuses valeurs indexées distinctes