You may need to adjust the temporary cache size when configuring 3-byte indexes.
CALL sa_server_option('temp_cache_memory_mb', value)
The enumerated FP indexes use a hash object to manage the values represented in the column. The size of the hash object used with a 3-byte FP can get large, depending on the number of distinct values and the width of the column. With a large enough temporary cache allocation, increasing the value of the option HASH_PINNABLE_CACHE_PERCENT to more than the default value of 20 percent can improve performance by allowing the entire hash object to remain in the cache.
To maximize the use of FP(3) indexes, set the FP_LOOKUP_SIZE option to a value larger than the default of 16MB.
Columns with a 3-byte index require additional cache to load data. Set FP_LOOKUP_SIZE to an appropriate value before loading columns with 3-bytes indexes.
If a scarcity of pinned buffers occurs, Sybase IQ returns a warning in theĀ .iqmsg file, which also contains notification of possible thrashing:
Warning: Hash Insert forced buffer unpinning detected for FP Index Warning: Hash Insert thrashing detected for FP Index