Storage

Data storage options can be tuned for each column similar to how indexing is defined.

Column store

Beside of storing the row data as-is (and indexing each value by default), each value term is stored into a Column Store by default. The usage of a Column Store is greatly improving global aggregations and groupings and enables ordering possibility as the data for one column is packed at one place. Using the Column Store limits the values of TEXT columns to a maximal length of 32766 bytes.

Turning off the Column Store in conjunction of turning off indexing will remove the length limitation.

Example:

cr> CREATE TABLE t1 (
...   id INTEGER,
...   url TEXT INDEX OFF STORAGE WITH (columnstore = false)
... );
CREATE OK, 1 row affected  (... sec)

Doing so will enable support for inserting strings longer than 32766 bytes into the url column, but the performance for global aggregations, groupings and sorting using this url column will decrease.

Note

INDEX OFF and therefore columnstore = false cannot be used with partition columns, as those are not stored as normal columns of a table.

Supported data types

Controlling if values are stored into a Column Store is only supported on following data types:

For all other Primitive types and Geometric points it is enabled by default and cannot be disabled. Container types and Geometric shapes do not support storing values into a Column Store at all.