Version
Version 6.1.1 or earlier.
No error occurs in version 6.3.1 or later.
Symptom
The following error occurs when using join or Order by / Group by on a disk table.
[ERR-311E0: The estimated size of the index key exceeds the maximum limit.]
Cause
The description of the error can be checked using the altierr utility as follows.
$ altierr 0x311E0
0x311E0 ( 201184) qpERR_ABORT_QDX_MAXIMUM_KEY_SIZE_EXCEED The estimated size of the index key exceeds the maximum limit.
# *Cause:
# - The estimated size of the index key exceeds the maximum limit.
# *Action:
# - Please reduce the number of key columns.
When performing joins or order by / group by on a disk table, Altibase uses Temp Tablespace internally.
Temp Tablespace is a Disk Tablespace and has a fixed page size of 8K. When using Temp Tablespace, the above error may occur if there is a need to create more than 8K records.
For reference, if the size of the disk tablespace exceeds 1Page(8K), the data length is approximately 3000Bytes or more.
# Example
# Example of 6.3.1 version
Solution
1. The TEMP_TBS_MEMORY hint can be used to avoid the 1 Page (8K) size limitation of the disk temp tablespace.
In addition, this hint is effective in improving query performance because the memory area is used instead the disk as the temp area.
2. Upgrade to version 6.3.1 or higher.
In version 6.3.1 or later, this error does not occur in the same situation.