A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Sonderzeichen  sybase-tech-blog


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.