Attribute

ArrayNormalizationThreshold (art)

Purpose

Specifies the length of arrays (in elements) at which the driver begins to normalize elements in arrays to child tables when generating a flattened relational view (SchemaFormat=Flatten). In the flattened relational view, elements in arrays are typically flattened into columns in the parent table. This behavior can create tables with a high-number of columns when encountering large arrays or arrays nested in arrays. To avoid the memory and performance issues associated with handling very large tables, you can limit the size of the parent table using this option.

Valid Values

0 | x

where:

x

is the length of arrays (in elements) at which the driver begins to normalize elements in arrays to child tables when generating a flattened view.

Behavior

If set to 0, all elements in arrays are flattened as columns to the parent table.

If set to x, arrays containing a number of elements equal to or greater than the specified value are normalized to child tables when generating a flattened view. In arrays comprising of fewer elements than the specified amount, the elements are flattened into columns in the parent table.

Notes

  • The behavior of this option also applies to nested arrays. Therefore, if the length of a nested array exceeds the value specified for this option, a separate child table will be generated for the elements of the nested array.

Default Value

12