As explained, the maximum key size is 1/4 of the page size, but from the Firebird reference update (here), the maximum index row length in bytes is 9 less than the maximum key length. And UTF8 in Firebird is stored inside 4 bytes / char .
Thus, the maximum length for UTF8 in a database of 4096 pages is 253 characters (4096/4 -9 = 1024 -9 = 1015, which limits 253 * 4 = 1012). So, if you need a large string, you need a large database with page size (even if you use Firebird 2.5.x).
source
share