定義されたキーごとに、完全かつ独立した索引が作成されます。この索引は、索引ノード レコードのツリーで構成されます。各索引ノード レコードには、索引ファイルに書き込まれているデータ レコードに関連する実際のキー値が含まれます。ノード内の各キー値は、従属索引ノード レコード (リーフ ノードの場合は、キーに関連付けられたデータ レコード) の開始位置を指します。
最上位レベルのノード レコードは、ルートと呼ばれます。
デフォルトのノード サイズは 1024 バイトですが、ファイルに定義されている最大キー サイズによって変更される場合もあります。最大キーが 238 バイトより大きい場合、ノード サイズは 4096 バイトになります。
索引ノード レコードには、次のフィールドがあります。
キー値ブロックには、次のフィールドが含まれます。
サイズ | フィールドの説明 |
---|---|
1 | 先行文字の圧縮が可能な場合のみ存在します。このフィールドには、前のキーと同じ先行文字のカウントが含まれます。この値は、ノードの最初のキーについては常に 0 になります。 |
1 | 後続空白文字の圧縮が可能な場合のみ存在します。このキー値の後続空白文字のカウントが含まれます。 |
n | キー値 |
duplicate-occurrence | (オプション) 重複オカレンス番号。詳細については、「索引ファイルの種類」のトピックを参照してください。このフィールドは、このキーに重複が許可されている場合にのみ存在します。これには、重複オカレンス カウントが含まれます。複製された最初に格納されたキーでは、このフィールドが 1 に設定されます。2 番目の複製では、このフィールドが 2 に設定されます。 |
file-pointer-size |