The following file size limits affect indexed files. The default (where IDXFORMAT=0) is IDXFORMAT 8.
To create files of a different format, use the IDXFORMAT extfh.cfg or compiler directive setting. To convert existing files to other formats, use the Rebuild utility.
IDXFORMAT
|
Exclusive (#)
|
Exclusive with duplicate key compression on
|
Shared with default locking
|
FILEMAXSIZE set to
|
1
|
4 Gb
|
2 Gb
|
1 Gb
|
4 or 8
|
2
|
4 Gb
|
2 Gb
|
1 Gb
|
4 or 8
|
3
|
4 Gb
|
2 Gb
|
1 Gb
|
4 or 8
|
4
|
4 Gb
|
2 Gb
|
1 Gb
|
4 or 8
|
8 and 12
|
4 Gb
|
2 Gb
|
1 Gb
|
4
|
8 and 12
|
256 Tb
|
128 Tb
|
256 Tb
|
8
|
where:
- (#) = either accessing files exclusively or accessing shared files with the extfh.cfg or compiler directive setting of LOCKTYPE 1 or 2. That is, file size is not affected when using LOCKTYPE 1 or 2.
- FILEMAXSIZE is an extfh.cfg setting that defaults to 8
- For IDXFORMAT 8 or IDXFORMAT 12 files only, if you increase the extfh.cfg setting FILEPOINTERSIZE to
8, you increase file size limits to:
IDXFORMAT
|
Exclusive (#)
|
Exclusive with duplicate key compression on
|
Shared with default locking
|
FILEMAXSIZE set to
|
8 and 12
|
16 Eb
|
8 Eb
|
4 Eb
|
8
|
Note:
- The above figures are determined by the pointer size used to address the file. For example:
32 bits
|
=
|
2^32
|
=
|
4,294,967,296 bytes
|
=
|
4 Gb (Gigabytes)
|
48 bits
|
=
|
2^48
|
=
|
281,474,976,710,656 bytes
|
=
|
256 Tb (Terabytes)
|
64 bits
|
=
|
2^64
|
=
|
18,446,744,073,709,551,616 bytes
|
=
|
16 Eb (Exabytes or MegaTerabytes)
|
- LOCKTYPE settings of 1 and 2 were specifically introduced in order to avoid the file size limit imposed by sharing files.
- If you set FILEMAXSIZE to
8, IDXFORMAT 8 and IDXFORMAT 12 both support very large files with the default locking mechanism. Therefore, you are recommended to use IDXFORMAT 8 or IDXFORMAT 12 for large files rather than any of the other formats which also require LOCKTYPE 1 or 2 for large files. (LOCKTYPE=1 has the disadvantage of not allowing locked data to be read at all while LOCKTYPE=2 has the disadvantage of using up an extra file handle for the .LCK file that contains the locks).