The following file size limits affect indexed files:
- On Windows, the default (where IDXFORMAT=0) is IDXFORMAT 3.
- On UNIX, the default is IDXFORMAT 1 (C-ISAM) for
fixed record length files and IDXFORMAT 3 for variable record length
files.
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 |
4 Gb |
2 Gb |
1 Gb |
4 |
8 |
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 4
- For IDXFORMAT 8 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 |
16 Eb |
8 Eb |
4 Eb |
8 |
Notes:
- 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 supports
very large files with the default locking mechanism. Therefore, you are
recommended to use IDXFORMAT 8 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).
関連項目