Syntax options:
RANDOMIZE | NORANDOMIZE
The RANDOMIZE clause specifies that the sequence numbers are to
be returned with a random value in the most significant bytes
of the BIGINT value. This allows unique values to be generated
that have a random distribution. When you specify the NORANDOMIZE
clause, sequence numbers are close in value to others created at
the same time.
The advantage of the RANDOMIZE clause is that updates to columns
of a sorted index to which these values are written occur in
different locations in the index structure. This may improve
concurrent access for large indexes as leaf nodes in different
parts of the index can be updated independently. In contrast,
the sequence numbers generated when you specify the NORANDOMIZE
clause (which are likely to be close in numeric value to other
sequences) result in index updates that occur in the same or
nearby index nodes, which may lead to contention in one part of
the sorted index.
The full range of values in the BIGINT value returned for the
sequence are used; therefore, the NOMAXVALUE and NOMINVALUE
clauses must be specified (or defaulted to) for the sequence
definition. The most significant bits of the BIGINT value
are set to a randomly generated positive value. A generated
distinct value is returned in the least significant 32 bits so
that uniqueness is guaranteed. If you also specify the CYCLE
clause, then only the least significant 32 bits are cycled. When
a query is performed on the column RDB$NEXT_SEQUENCE_VALUE in
the RDB$SEQUENCES table, only the generated value of the least
significant bits is returned, because the most significant bits
are not assigned until the NEXTVAL pseudocolumn is referenced.
If you specify RANDOMIZE, you cannot also specify ORDER,
MAXVALUE, or MINVALUE. The NORANDOMIZE clause is the default.