Anmelden

View Full Version : BLOB Felder Speichergröße



mk
27-06-19, 10:01
Hallo zusammen,

mal eine Frage zum Speichersystem der DB2.

Ich lege eine Tabelle mit einem BLOB Feld an.
Das BLOB Feld ist definiert mit 10 MB .

Speichert ( Reserviert ) das System auch immer die 10 MB Plattenspeicher auch wenn nur
z.B. 500 KB in dem BLOB Feld gespeichert sind ?


Die FFD sieht so aus.


Feld Art Länge Länge Position Verwend. Überschrift
RID BINARY 18 0 8 1 Beides RID
FLDBLOB BLOB 10485760 40 9 Beides FLDBLOB
Zugeordnete Länge . . . . . . . . . . . . : 0
ID des codierten Zeichensatzes . . . . . : 65535
DOCTYPE CHAR 10 10 49 Beides DOCTYPE

Hat jemand dazu Informationen

Gruß
Michael

Fuerchau
27-06-19, 12:51
Ich glaube nur in Blockeinheiten. Dadurch kann es dann auch durchaus zur Fragmentierung kommen wobei auch da nicht dokumentiert ist, ob das LOB zusammenhängend oder segmentiert gespeichert wird.
Du kannst es aber einfach an Hand der Größe des Datei-Objektes mal ermitteln.

B.Hauser
27-06-19, 18:21
Solange für das BLOB-Feld kein Allocate angegeben wurde, werden im Datensatz lediglich 16 Byte für die Adresse der Overflow-Area hinterlegt. Die LOB-Informationen werden in der Overflow Area abgelegt und zwar mit der tatsächlichen Länge.
Wird ein Allocate angegeben, werden in der Spalte die Anzahl der allokierten Bytes reserviert und nur LOBs (oder auch Felder mit Variabler Länge), die die Anzahl der allokierten Bytes werden in der Overflow Area gespeichert.

Birgitta