B-Tree e Bitmap
Esistono due tipi di indici utilizzati in Oracle. Questi sono B-Tree e Bitmap. Questi indici sono utilizzati per l'ottimizzazione delle prestazioni, che in effetti rende la ricerca di record e il loro recupero abbastanza veloce. Le funzioni di indice creano una voce per tutti i valori che appaiono nelle colonne indicizzate. Gli indici B-Tree sono quelli utilizzati dai sistemi OLTP e che vengono principalmente implementati per impostazione predefinita. Bitmap, d'altra parte, si presenta come un formato di indice altamente compresso che, nella maggior parte dei casi, viene impiegato nei data warehouse.
In generale, la bitmap può essere indicata come un metodo di indicizzazione attraverso il quale è possibile ottenere vantaggi prestazionali e risparmi di archiviazione. Il suo uso, come precedentemente affermato, è principalmente nell'ambiente di data warehousing. Il motivo è dovuto al fatto che gli aggiornamenti dei dati non sono così frequenti e le query ad hoc sono più nell'ambiente. Nell'implementazione di Bitmap, vengono preferiti i dati cardinali bassi. Bitmap è la scelta preferita per gli elementi di colonna che hanno opzioni basse come il sesso, che avrà solo 2 valori e sono preferiti. I dati statici nel magazzino sono anche una buona caratteristica dei dati che sarebbero ottimamente implementati usando Bitmap. Un'altra caratteristica di Bitmap è un flusso di bit in cui ogni bit viene implementato in un valore di colonna in una singola riga di una tabella.
Un indice B-tree, d'altra parte, è un indice che viene creato su colonne che contengono valori molto univoci. L'indice B-Tree ha voci ordinate in cui ogni voce ha un valore della chiave di ricerca e un puntatore che fa riferimento a una data riga e valore. Nel caso in cui un server trovi un vincolo corrispondente che si riferisce al valore in questione, il puntatore viene distribuito per recuperare la riga.
Una delle differenze tra i due è che c'è una bassa duplicazione e un'alta co-cordialità in B-Tree mentre accade il contrario in Bitmap. Bitmap ha alte istanze di duplicazione e bassa cordialità. L'indice Bitmap è considerato vantaggioso rispetto all'indice B-Tree, in quanto ha tabelle che hanno milioni di righe in quanto le colonne specificate hanno una cardinalità bassa. Gli indici in Bitmap, quindi, offrono prestazioni migliori rispetto agli indici B-Tree.
Gli alberi B sembrano essere estremamente veloci quando viene raccolto un piccolo set di dati, nella maggior parte dei casi i dati non devono superare il 10% delle dimensioni del database. Questi due lavorano insieme quando ci sono molti valori distinti di cui sono indicizzati. È anche unico per B-Tree che diversi indici possono essere uniti per produrre un programma molto efficiente. Bitmap, d'altra parte, tende a funzionare meglio quando ci sono valori indicizzati più bassi per la massima efficienza.
Gli alberi B sono scarsi quando si tratta di cercare sottoinsiemi di dati più grandi che superano il 10% dei dati dei sottoinsiemi. Bitmap accetta questa sfida per fornire risultati di alta qualità, poiché funziona meglio quando ci sono pochi valori distinti.
Se ci sono molti indici in una tabella occupata utilizzando B-Tree, può verificarsi un problema a causa di piccole penalità imposte durante l'inserimento di dati indicizzati o nel caso in cui sia necessario inserire e aggiornare i dati indicizzati. Questo non è un problema con Bitmap, poiché è molto efficiente nell'inserimento e nell'aggiornamento dei valori, indipendentemente dalla dimensione in questione.
Sommario
B-Tree e Bitmap sono due tipi di indici utilizzati in Oracle
Bitmap è un metodo di indicizzazione che offre vantaggi in termini di prestazioni e risparmio di spazio
L'indice B-Tree è un indice creato su colonne che contengono valori molto univoci
B-Tree funziona meglio con molti valori indicizzati distinti
Bitmap funziona meglio con molti valori indicizzati distinti