IQ UNIQUE defines the expected cardinality of a column and
determines whether the column loads as Flat FP or NBit. An IQ UNIQUE(
n) value explicitly set to 0 loads the column as Flat
FP. Columns without an IQ UNIQUE constraint implicitly load as NBit up to the limits
defined by the FP_NBIT_AUTOSIZE_LIMIT and FP_NBIT_LOOKUP_MB options:
-
FP_NBIT_AUTOSIZE_LIMIT limits the number of distinct
values that load as NBit
-
FP_NBIT_LOOKUP_MB sets a threshold for the total NBit
dictionary size
-
FP_NBIT_ROLLOVER_MAX_MB sets the dictionary size for
implicit NBit rollovers from NBit to Flat FP
-
FP_NBIT_ENFORCE_LIMITS enforces NBit dictionary sizing
limits. This option is OFF by default
Using IQ UNIQUE with an
n value less than
the FP_NBIT_AUTOSIZE_LIMIT is not necessary. Auto-size functionality automatically
sizes all low or medium cardinality columns as NBit. Use IQ UNIQUE in cases where
you want to load the column as Flat FP or when you want to load a column as NBit
when the number of distinct values exceeds the FP_NBIT_AUTOSIZE_LIMIT.