Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

K- und NK-ISAM-Dateien

&pagelevel(5)&pagelevel

ISAM-Dateien im K-Format, die die maximale Satzlänge ausnützen, werden im NK-Format länger als der nutzbare Bereich des Datenblocks. Sie können im NK-Format behandelt werden, da das DVS Verlängerungen von Datenblöcken, sog. Überlaufblöcke, bildet.

Die Bildung von Überlaufblöcken bringt folgende Probleme mit sich:

  • die Überlaufblöcke erhöhen den Platzbedarf auf der Platte und damit die Zahl der Ein-/Ausgaben während der Dateibearbeitung,

  • der ISAM-Schlüssel darf in keinem Fall in einem Überlaufblock liegen.

Überlaufblöcke können vermieden werden, wenn man dafür sorgt, dass der längste Satz der Datei nicht länger ist, als der bei NK-ISAM-Dateien nutzbare Bereich eines logischen Blockes.

Für Datensätze nutzbarer Bereich bei NK-ISAM-Dateien

Die folgende Tabelle stellt dar, wie man bei ISAM-Dateien errechnen kann, wieviel Platz pro logischem Block für Datensätze zur Verfügung steht.

Dateiformat

RECORD-FORMAT

maximaler nutzbarer Bereich

K-ISAM

VARIABLE

BUF-LEN

FIXED

BUF-LEN - (s*4)
wobei s = Anzahl der Sätze pro logischem Block

NK-ISAM

VARIABLE

BUF-LEN - (n*16) - 12 - (s*2)
(auf nächste durch 4 teilbare Zahl abgerundet)

wobei n = Blockungsfaktor
s = Anzahl der Sätze pro logischem Block

FIXED

BUF-LEN - (n*16) - 12 - (s*2) - (s*4)
(auf nächste durch 4 teilbare Zahl abgerundet)

wobei n = Blockungsfaktor
s = Anzahl der Sätze pro logischem Block

Zur Erläuterung der Formeln

Bei NK-ISAM-Dateien enthält jede PAM-Seite eines logischen Blocks jeweils 16 Byte Verwaltungsinformation. Der logische Block enthält zusätzlich weitere 12 Byte Verwaltungsinformation und pro Satz einen 2 Byte langen Satzpointer.
Bei RECORD-FORMAT=FIXED ist pro Satz ein 4 Byte langes Satzlängenfeld zwar vorhanden, wird aber nicht zur Satzlänge gerechnet. Deshalb müssen in diesen Fällen pro Satz jeweils 4 Byte abgezogen werden.

Beispiel: maximale Satzlänge einer NK-ISAM-Datei (feste Satzlänge)

Dateivereinbarung:

/ADD-FILE-LINK ...,RECORD-FORMAT=FIXED,BUFFER-LENGTH=STD(SIZE=2),
BLOCK-CONTROL-INFO=WITHIN-DATA-BLOCK

maximale Satzlänge nach der Formel:

4096 - (2*16) - 12 - 1*2 - 1*4 = 4046, abgerundet auf die nächste durch
vier teilbare Zahl: 4044 (byte).