索引ファイル - データ ファイル構造

索引ファイルのデータ ファイル部分には、すべてのデータ レコードが格納されています。

データ ファイルの空きレコードに関する情報を保持し、レコードを削除することで生じた領域を再利用して、ファイル サイズの急激な増加を防ぐことができます。

固定長形式の索引ファイルでは、この情報は索引の空き領域レコードに格納されます。このレコードの構造は、索引の空き領域レコードの構造と同じですが、アドレスはデータ ファイル レコードをポイントします。

可変長形式の索引ファイルでは、この情報はデータ ファイルのシステム レコードに格納されます。レコード サイズはすべて、データ レコード整列サイズの倍数になります。スロットの長さごとに、空いているその長さのすべてのスロットに対して連鎖が維持されます。どの長さについても、連鎖の開始はデータ ファイルのデータ空き領域レコードに保持されます。このシステム レコードの長さは、ファイルの最大スロット長、または圧縮した場合は最大圧縮長 (レコードの長さは圧縮すると長くなる場合があります) と常に同じです。このレコードで指定される各空きスロットには、レコード ヘッダー直後の n バイトに、長さが同じ次の空きスロットのアドレスが格納されます。連鎖の最後のスロットでは、このアドレスにゼロが格納されます。

データ空き領域レコードには、次のフィールドがあります。

オフセット サイズ フィールドの説明
0 2/4 レコード ヘッダー
2/4 4 長さ 8 バイトの最初の空きデータ スロットのオフセット
6/8 4 長さ 12 バイトの最初の空きデータ スロットのオフセット
...    
n 4 最大長の最初の空きデータ スロットのオフセット