Kiedy indeks jest tworzony dla pustej tabeli, serwer bazy danych przydziela pojedynczą stronę indeksu. Strona ta reprezentuje węzeł główny i pozostaje pusta aż do momentu wstawienia danych do tabeli.
Na początku węzeł główny działa w taki sam sposób jak węzeł-liść. Dla każdego wiersza wstawionego do tabeli serwer bazy danych tworzy i wstawia element indeksu w węźle głównym.
Rysunek 1 ilustruje, jak wygląda węzeł główny przed wypełnieniem.
Kiedy węzeł główny zapełni się elementami indeksu, serwer bazy danych dzieli węzeł główny, wykonując następujące kroki:
- Tworzy dwa węzły-liście.
- Przesuwa w przybliżeniu połowę wpisów węzła głównego do każdego z nowo utworzonych węzłów-liści.
- Ustawia wskaźniki do węzłów-liści w węźle głównym.
Dodając nowe wiersze do tabeli, serwer bazy danych dodaje elementy indeksu do węzłów-liści. Po wypełnieniu węzła-liścia serwer bazy danych tworzy nowy węzeł-liść, przesuwa część zawartości węzła pełnego indeksów do nowego węzła i dodaje wskaźnik węzła do nowego węzła-liścia w węźle głównym.
Na przykład załóżmy, że węzeł-liść 3 (patrz
Rysunek 2) zapełnia się. W tej sytuacji serwer bazy danych dodaje jeszcze jeden węzeł-liść. Serwer bazy danych przesuwa część rekordów z węzła-liścia 3 do nowego węzła, jak pokazuje
Rysunek 2.
Rysunek 2. Węzeł-liść 4 utworzony po wypełnieniu węzła-liścia 3