Podtypy indeksu B-tree:

 

1. Index-Organized Table (IOT)

Tabela zorganizowana przez indeks (IOT) przechowuje całą zawartość wiersza tabeli w strukturze indeksu B-drzewa.
Funkcja IOT zapewnia szybki dostęp do zapytań, które mają dokładne dopasowania i / lub zakres wyszukiwania na kluczu podstawowym.

create table prod
(id number
,nazwa         varchar2(256),
constraint prod_nazwa_pk primary key(id, nazwa)
) organization index;

 

2. Unique Indexes

Podczas tworzenia indeksu B-tree można go zdefiniować jako unikalny indeks.
Pod tym względem działa jak unikalne ograniczenie klucza.
Podczas wstawiania do odpowiedniej tabeli unikalny indeks gwarantuje, że wszelkie wartości inne niż null wstawione do tabeli są różne.
Z tego powodu unikalne indeksy są powszechnie używane w połączeniu z kluczem głównym i ograniczeniami kluczowymi

create unique index cust_ui211
on customer(last_name, first_name);

 

3. Reverse Key Indexes

Odwrotne indeksy kluczy są przydatne do równoważenia operacji we / wy w indeksie, który ma wiele kolejnych wstawień w tabeli z kolumną zarządzaną przez sekwencję.
Indeksy te działają lepiej w scenariuszach, w których potrzebny jest równomierny podział danych indeksowych,
które w przeciwnym razie miałyby podobne wartości zgrupowane razem.
Dlatego przy korzystaniu z indeksu klucza odwrotnego unika się sytuacji, w której we / wy koncentrują się w jednym miejscu dysku fizycznego wewnątrz indeksu
podczas dużych wstawień wartości sekwencyjnych.
Tego klucza nie można utworzyć na indeksie bitmapowym.

create index cust_ri1
on customer(cust_id) reverse;

 

4. Descending Indexes

Domyślnie Oracle przechowuje indeksy drzewa B w kolejności rosnącej.
Na przykład, jeśli masz indeks w kolumnie z typem danych liczbowych, najmniejsze liczby pojawiają się jako pierwsze w indeksie (najbardziej wysunięty na lewo węzeł liści),
a najwyższe liczby są przechowywane w najbardziej prawych węzłach liści.
Możesz nakazać Oracle, aby odwróciła tę kolejność w dół, określając słowo kluczowe DESC za pomocą kolumny.
Indeksy malejące są przydatne w przypadku zapytań sortujących niektóre kolumny w porządku rosnącym i inne kolumny w porządku malejącym.

create index cust_di
on customer(cust_id desc);
Written by Przemysław Starosta