|
Kategorie: ASE: Data Storage
Overflow pages
Für
nonunique clustered indizes
auf
APL Tabellen
werden dann spezielle overflow pages erstellt, wenn eine neu eingefügte Zeile
den gleichen Schlüssel/Wert (key value) hat, wie die letzte Zeile auf einer vollen
data page.
Eine neue data page wird der entsprechenden
page chain
zugewiesen und verlinkt. Die neu eingefügte Zeile wird auf einer neuen Page, der so genannten
overflow page abgelegt.
Auf der overflow page wird nur die Zeile mit dem zusätzlichen Wert gespeichert, der mit dem
Schlüssel/Wert (key value) übereinstimmt. Das können mitunter sehr viele gleiche Werte sein,
solange die Daten in eine Spalte mit einem
nonunique index
eigefügt werden.
Beispiel für eine overflow page
Vor dem Einfügen:
|
page # 1132
|
|
grün
|
|
lila
|
|
gelb
|
|
blau
|
insert table_name ('color') values ('blau')
Nach dem Einfügen:
|
page # 1132
|
|
grün
|
|
lila
|
|
gelb
|
|
blau
|
|
(overflow) page # 1158
|
|
blau
|
|
|
|
|
|
|
Charakteristisch für overflow pages ist, dass der pointer von
clustered indexes
nicht direkt auf sie zeigt. Stattdessen wird der
next page pointer
dazu verwendet um der Kette einer overflow page zu folgen. Dem next page pointer
wird solange gefolgt, bis der gesuchte Wert nicht mehr mit dem gefundenen übereinstimmt.
|