Rocket® Enterprise Developer (formerly a product of Micro Focus or formerly a product of Open Text) documentation, created before Rocket Software acquired certain products from OpenText, may include outdated references to "Micro Focus" or "OpenText", both of which are trademarks of OpenText or its affiliates. Rocket Software is not affiliated with Micro Focus or OpenText and has since rebranded these products as Rocket® products. You may also encounter outdated links in this documentation. If you do, please contact Rocket Support (support@rocketsoftware.com) for assistance.
索引 - 索引ノード レコード
定義されたキーごとに、完全かつ独立した索引が作成されます。この索引は、索引ノード レコードのツリーで構成されます。各索引ノード レコードには、索引ファイルに書き込まれているデータ レコードに関連する実際のキー値が含まれます。ノード内の各キー値は、従属索引ノード レコード (リーフ ノードの場合は、キーに関連付けられたデータ レコード) の開始位置を指します。
最上位レベルのノード レコードは、ルートと呼ばれます。
デフォルトのノード サイズは 1024 バイトですが、ファイルに定義されている最大キー サイズによって変更される場合もあります。最大キーが 238 バイトより大きい場合、ノード サイズは 4096 バイトになります。
注: デフォルトのノード サイズは変更可能です。XFHNODE 環境変数を、512、1024 (デフォルト)、または 4096 バイトのいずれかに設定します。ただし、XFHNODE
を 512 に設定した場合に最大のキー値が 120 バイトを超えると、XFHNODE の値が 1024 で上書きされます。また、XFHNODE を 512 または
1024 に設定した場合に最大のキー値が 248 を超えると、XFHNODE の値が 4096 で上書きされます。XFHNODE の設定は、ファイルが作成された時点でのみ有効です。既存のファイルのノード
サイズは変更できません。
索引ノード レコードには、次のフィールドがあります。
| サイズ | フィールドの説明 |
|---|---|
| 2 |
|
| n | キー値ブロック |
| ... | |
| n | キー値ブロック |
| 1 | 索引番号
値は、同じ索引ツリーに属するすべてのノードについて同じです。主キーの場合は、ゼロが含まれます。 |
| 1 |
|
キー値ブロックには、次のフィールドが含まれます。
| サイズ | フィールドの説明 |
|---|---|
| 1 | 先頭文字の圧縮が可能な場合のみ存在します。このフィールドには、前のキーと同じ先頭文字のカウントが含まれます。この値は、ノードの最初のキーについては常に 0 になります。 |
| 1 | 後続空白文字の圧縮が可能な場合のみ存在します。このキー値の後続空白文字のカウントが含まれます。 |
| n | キー値 |
| duplicate-occurrence | オプションの重複出現番号。詳細については、「索引ファイルの種類」のトピックを参照してください。このフィールドは、このキーに重複が許可されている場合にのみ存在します。これには、重複出現カウントが含まれます。格納されている重複する最初のキーでは、このフィールドは 1 に設定されます。2 番目の重複では、このフィールドが 2 に設定されます。 |
| file-pointer-size |
|