|
Kategorie: ASE: Data Storage
large object page, LOB page
Large object columns (LOB columns) also
text,
image
und
Java
off-row columns
einer
Tabelle
werden mit einer separaten Datenstruktur, der so genannten der LOB-Struktur gespeichert.
Jede Tabelle, egal wie viele Spalten sie mit text, image und off-row definiert hat, besitzt
eine dieser separaten Datenstrukturen.
Wobei die Tabelle selbst einen 16
byte
großen Zeiger auf die
page
hat, die den ersten LOB Wert speichert. Die ertse page hält Informationen über die Anzahl der bytes des
LOB-Wertes, also über die Größe des LOB-Wertes bereit. Ein LOB-Wert der sich über mehrere pages verteilt
wird als page chain bezeichnet. Die Letzte verwendete page des LOB-Wertes in der page chain
wird mit einem so genannten NULL-next-Page pointer abgeschlossen. Der NULL-next-page pointer
ist der Markierungspunkt für ein Ende der vorhergehenden und den Anfang der nachfolgenden page chain.
Die oben angesprochene LOB-Datenstruktur wird in der
Systemtabelle
sysindexes
aufgelistet. Dort wird in der Spalte id die Identifikationsnummer der LOB-Struktur vorgehalten. Sie ist
mit der table id identisch. Die Spalte indid für LOB-Strukturen haben immer den Wert "255"; die
Spalte name zeigt den gleichen Namen wie die Tabelle in der der LOB-Wert gespeichert wird und trägt den
Buchstaben "t" als Präfix.
Jede LOB page kann bis zu 1800 bytes speichern wobei jeder nicht-NULL-Wert mindestns eine ganze page reserviert.
lesen und schreiben von LOB Werten
Das Lesen oder Schreiben von LOB-Werten erfordert immer mindestens zwei Lese- bzw. Schreibvorgänge.
Einen für den pointer und einen für den LOB-Wert selbst.
|