索引ファイルのサイズ制限

索引ファイルに影響を与えるファイル サイズ制限は次のとおりです。デフォルト (IEXFORMAT=0) 形式は IDXFORMAT 8 です。

他の形式のファイルを作成するには、extfh.cfg またはコンパイラ指令の IDXFORMAT 設定を使用します。既存のファイルを他の形式に変換するには、REBUILD ユーティリティを使用します。

IDXFORMAT 排他的 (#) 排他的 (重複キー圧縮が有効) 共有 (デフォルト ロック) FILEMAXSIZE に設定できる値
1 4 GB 2 GB 1 GB 4 または 8
2 4 GB 2 GB 1 GB 4 または 8
3 4 GB 2 GB 1 GB 4 または 8
4 4 GB 2 GB 1 GB 4 または 8
8 および 12 4 GB 2 GB 1 GB 4
8 および 12 256 TB 128 TB 256 TB 8

詳細は次のとおりです。

注:
  • 上記の数値は、ファイルのアドレスを指定する際に使用するポインターのサイズによって決定されます。次に例を示します。
    32 ビット = 2^32 = 4,294,967,296 バイト = 4 GB (ギガバイト)
    48 ビット = 2^48 = 281,474,976,710,656 バイト = 256 TB (テラバイト)
    64 ビット = 2^64 = 18,446,744,073,709,551,616 バイト = 16 EB (エクサバイトまたはメガ テラバイト)
  • LOCKTYPE=1 および LOCKTYPE=2 は、ファイル共有によるファイル サイズの制限を回避するために採用された設定です。
  • IDXFORMAT 8 と IDXFORMAT 12 の両方の形式では、FILEMAXSIZE を 8 に設定すると、デフォルトのロック メカニズムによりサイズが非常に大きいファイルもサポートされます。そのため大容量ファイルには、大容量ファイルに LOCKTYPE 1 または 2 も必要とする他の形式ではなく、IDXFORMAT 8 または IDXFORMAT 12 を使用することをお勧めします。なお、LOCKTYPE=1 にはロックされたデータの読み取りができないという欠点があり、LOCKTYPE=2 にはロックを含む .LCK ファイル用に余分なファイル ハンドルを使用するという欠点があります。