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)