Learn: List of Netezza Data Types and Best Practices
1) Netezza Data Types
Below is an example of the data types available in Netezza at this time. Here's a Netezza CREATE TABLE example demonstrating all the supported Netezza data types.
CREATE TABLE NETEZZA_TABLE_NAME ( BYTEINT_COLUMN BYTEINT, SMALLINT_COLUMN SMALLINT, INTEGER_COLUMN INTEGER, BIGINT_COLUMN BIGINT, BOOLEAN_COLUMN BOOLEAN, CHAR_COLUMN CHARACTER(2), VARCHAR_COLUMN CHARACTER VARYING(10), NCHAR_COLUMN NATIONAL CHARACTER(10), DATE_COLUMN DATE, TIME_COLUMN TIME, TIME_WITH_TIME_ZONE_COLUMN TIME WITH TIME ZONE, TIMESTAMP_COLUMN TIMESTAMP, INTERVAL_COLUMN INTERVAL, DOUBLE_PRECISION_COLUMN DOUBLE PRECISION, FLOAT_COLUMN DOUBLE PRECISION, NUMERIC_COLUMN NUMERIC(18,0), NVARCHAR_COLUMN NATIONAL CHARACTER VARYING(10), REAL_COLUMN REAL, ST_GEOMETRY_COLUMN ST_GEOMETRY(10), VARBINARY_COLUMN BINARY VARYING(10), DECIMAL_COLUMN DECIMAL(16,2), FLOAT_COLUMN FLOAT(6), MONEY_COLUMN MONEY ) DISTRIBUTE ON (BIGINT_COLUMN) |[ DISTRIBUTE ON RANDOM] ;
2) Netezza Data Types Best Practices
- Convert INTEGER types for better performance and zonemap utilization.
- Use floating point data types (REAL/DOUBLE PRECISION) sparingly as they are lossy by nature, affecting collocated joins and performance.
- Ensure consistent data types for the same column on different tables to optimize performance.
- Use Char(x) instead of Varchar(x) when expecting fixed-length data as this helps save disk space and improves performance due to reduced I/O.
3) Restrictions: Netezza Database Maximum Lengths
- Columns per table or view: 1600 (4 distributions per table)
- Connections to the server: 2000 (default connection value 500)
- Character fields: 64,000 characters
- Database and column names: 128 bytes
- Row size: 65,535 bytes (applies to query results as well)