索引ファイルのデータ ファイル部分には、すべてのデータ レコードが格納されています。
データ ファイルの空きレコードに関する情報を保持し、レコードを削除することで生じた領域を再利用して、ファイル サイズの急激な増加を防ぐことができます。
固定長形式の索引ファイルでは、この情報は索引ファイルの空き領域レコードに格納されます。このレコードの構造は、索引の空き領域レコードの構造と同じですが、アドレスはデータ ファイル レコードを示しています。
可変長形式の索引ファイルでは、この情報はデータ ファイルのシステム レコードに格納されます。レコード サイズはすべて、データ レコード整列サイズの倍数になります。スロットの長さごとに、空いている長さのすべてのスロットに対して連鎖が維持されます。どの長さについても、連鎖の開始はデータ ファイルのデータ空き領域レコードに保持されます。このシステム レコードの長さは、ファイルの最大スロット長、または圧縮した場合は最大圧縮長 (レコードの長さは圧縮すると長くなる場合があります) と常に同じです。このレコードで指定される各空きスロットには、レコード ヘッダー直後の n バイトに、長さが同じ次の空きスロットのアドレスが格納されます。連鎖の最後のスロットでは、このアドレスにゼロが格納されます。
データ空き領域レコードには、次のフィールドがあります。
オフセット | サイズ | フィールドの説明 |
---|---|---|
0 | 2/4 | レコード ヘッダー |
2/4 | 4 | 長さ 8 バイトの最初の空きデータ スロットへのオフセット |
6/8 | 4 | 長さ 12 バイトの最初の空きデータ スロットへのオフセット |
... | ||
n | 4 | 最大長の最初の空きデータ スロットのオフセット |