encodages de compression - Amazon Redshift

encodages de compression

Un encodage de compression spécifie le type de compression appliqué à une colonne de valeurs de données à mesure que les lignes sont ajoutées à une table.

ENCODE AUTO est la valeur par défaut pour les tables. Amazon Redshift gère automatiquement l'encodage de compression pour toutes les colonnes de la table. Vous pouvez spécifier l'option ENCODE AUTO pour la table afin de permettre à Amazon Redshift de gérer automatiquement l'encodage de la compression pour toutes les colonnes de la table. Pour plus d'informations, consultez CREATE TABLE et ALTER TABLE.

Cependant, si vous spécifiez l'encodage de compression pour une colonne quelconque du tableau, le tableau n'est plus défini sur ENCODE AUTO. Amazon Redshift ne gère plus automatiquement le codage de compression pour toutes les colonnes de la table.

Si vous spécifiez un encodage de compression pour une colonne quelconque de la table ou si vous ne spécifiez pas l'option ENCODE AUTO pour la table, Amazon Redshift attribue automatiquement un encodage de compression aux colonnes pour lesquelles vous ne spécifiez pas d'encodage de compression, comme suit :

  • Les colonnes qui sont définies comme des clés de tri se voient attribuer une compression RAW.

  • Les colonnes qui sont définies comme des types de données BOOLEAN, REAL ou DOUBLE PRECISION se voient attribuer une compression RAW.

  • Les colonnes qui sont définies comme des types de données SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP ou TIMESTAMPTZ se voient attribuer une compression AZ64.

  • Les colonnes définies en tant que types de données CHAR ou VARCHAR sont affectées à une compression LZO.

Le tableau suivant identifie le codage de compression pris en charge et les types de données qui prennent en charge l'encodage.

Type d'encodage Mot clé dans CREATE TABLE et ALTER TABLE Types de données
Brut (aucune compression) RAW Tous
AZ64 AZ64 SMALLINT, INTEGER, BIGINT, DECIMAL, DATE, TIMESTAMP, TIMESTAMPTZ
Dictionnaire d'octets BYTEDICT SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ
Delta

DELTA

DELTA32K

SMALLINT, INT, BIGINT, DATE, TIMESTAMP, DECIMAL

INT, BIGINT, DATE, TIMESTAMP, DECIMAL

LZO LZO SMALLINT, INTEGER, BIGINT, DECIMAL, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER
Mostlyn

MOSTLY8

MOSTLY16

MOSTLY32

SMALLINT, INT, BIGINT, DECIMAL

INT, BIGINT, DECIMAL

BIGINT, DECIMAL

Run-length RUNLENGTH SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ
Texte

TEXT255

TEXT32K

VARCHAR uniquement

VARCHAR uniquement

Zstandard ZSTD SMALLINT, INTEGER, BIGINT, DECIMAL, REAL, DOUBLE PRECISION, BOOLEAN, CHAR, VARCHAR, DATE, TIMESTAMP, TIMESTAMPTZ, SUPER