Choosing a Column Compression Type

Compression is a column-level operation that reduces the size of data when it is
stored. Compression conserves storage space and reduces the size of data that is read
from storage, which reduces the amount of disk I/O and therefore improves query
performance.

By default, Amazon Redshift stores data in its raw, uncompressed format. You can apply
a
compression type, or encoding, to the columns in a table manually
when you create the table, or you can use the COPY command to analyze and apply
compression automatically. For details about applying automatic compression, see Loading Tables with Automatic
Compression.

Note

We strongly recommend using the COPY command to apply automatic
compression.

You might choose to apply compression encodings manually if the new table shares the
same data characteristics as another table, or if in testing you discover that the
compression encodings that are applied during automatic compression are not the best
fit
for your data. If you choose to apply compression encodings manually, you can run
the
ANALYZE COMPRESSION
command against an already populated table and use the results to choose compression
encodings.

To apply compression manually, you specify compression encodings for individual
columns as part of the CREATE TABLE statement. The syntax is as follows:

Where encoding-type is taken from the keyword table in the
following section.

For example, the following statement creates a two-column table, PRODUCT. When data
is
loaded into the table, the PRODUCT_ID column is not compressed, but the PRODUCT_NAME
column is compressed, using the byte dictionary encoding (BYTEDICT).