Netezza Table Row Size Details

  • Post author:
  • Post last modified:February 27, 2018
  • Post category:Netezza
  • Reading time:3 mins read

When you create a table in IBM Netezza, the table usually does not take any space on the data slices. Once you insert the rows then only system allocates the space to the rows. In this article, we will see the Netezza table row size details and what are the system columns and their size when you insert rows into the created table.

Netezza Table Row Size Details

When you insert new row to the created table, IBM Netezza system allocates at least one extent of size 3 MB of storage space on the disk. Each extent is also divided into 25 128 KB pages or blocks. The Netezza uses these 128 KB pages to store the rows when you inset into tables.

Each and every rows of the every tables created in the Netezza have 24-byte overhead of rowid, createxid, and deletexid. If you have any nullable columns, a null vector is required and it is N/8 bytes where N is the number of columns in the record. This is the reason having non-null column improves the performance of the Netezza system.

Read:

Record header

Netezza system will add a record header of 4 bytes if:

  • Column type is VARCHAR
  • Column type is CHAR and length is greater than 16
  • Column type is NCHAR
  • Column type is NVARCHAR

The only time a record does not contain a header is if all the columns are defined as NOT NULL, there are no character data types larger than 16 bytes, and no variable character data types defined on table.

Netezza Table Header Storage

Below table describes the header storage:

Create XID Delete XID Row ID Null vector Record length Column_1 …Column_n
8 bytes 8 bytes 8 bytes N/8 bytes 4 bytes Number of bytes