Compactação de colunas para reduzir o tamanho dos dados armazenados
A compactação é uma operação em nível de coluna que reduz o tamanho dos dados quando eles são armazenados. A compactação economiza espaço de armazenamento e reduz o tamanho dos dados que são lidos a partir do armazenamento, que reduz a quantidade de E/S de disco e, portanto, melhora a performance da consulta.
ENCODE AUTO é o padrão para tabelas. Quando a tabela é definida como ENCODE AUTO, o Amazon Redshift gerencia automaticamente a codificação de compactação para todas as colunas da tabela. Para ter mais informações, consulte CRIAR TABELA e ALTER TABLE.
Porém, se você especificar a codificação de compactação para qualquer coluna da tabela, a tabela não será mais definida como ENCODE AUTO. O Amazon Redshift não gerencia mais automaticamente a codificação de compactação para todas as colunas da tabela.
Você pode aplicar um tipo de compactação ou codificação para as colunas em uma tabela manualmente quando você cria a tabela. Ou pode usar o comando COPY para analisar e aplicar compactação automaticamente. Para obter mais informações, consulte Permitir que COPY selecione as codificações de compactação. Para obter detalhes sobre a aplicação de compactação automática, consulte Carregamento de tabelas com compactação automática.
nota
Recomendamos o uso do comando COPY para aplicar a compactação automática.
Você pode optar por aplicar codificações de compactação manualmente se a nova tabela compartilhar as mesmas características de dados que outra tabela. Ou pode fazê-lo se ao testar você descobrir que as codificações de compactação aplicadas durante a compactação automática não são a melhor opção para seus dados. Se você escolher aplicar as codificações de compactação manualmente, poderá executar o comando ANALYZE COMPRESSION em uma tabela já povoada e usar os resultados para escolher as codificações de compactação.
Para aplicar a compactação manualmente, especifique as codificações de compactação para colunas individuais como parte da instrução CREATE TABLE. A sintaxe é a seguinte.
CREATE TABLE table_name (column_name data_type ENCODE encoding-type)[, ...]
Aqui, encoding-type é retirado da tabela de palavras-chave na seção a seguir.
Por exemplo, a seguinte instrução cria uma tabela de duas colunas, PRODUCT. Quando os dados são carregados na tabela, a coluna PRODUCT_ID não é compactada, mas a coluna de PRODUCT_NAME é compactada usando a codificação do dicionário de bytes (BYTEDICT).
create table product( product_id int encode raw, product_name char(20) encode bytedict);
Você pode especificar a codificação para uma coluna quando ela é adicionada a uma tabela usando o comando ALTER TABLE.
ALTER TABLE table-name ADD [ COLUMN ] column_name column_type ENCODE encoding-type