ANALYZE COMPRESSION - Amazon Redshift

ANALYZE COMPRESSION

Executa análise de compactação e produz um relatório com a codificação sugerida de compactação para as tabelas analisadas. Para cada coluna, o relatório inclui uma estimativa da possível redução no espaço em disco para a codificação RAW.

Sintaxe

ANALYZE COMPRESSION [ [ table_name ] [ ( column_name [, ...] ) ] ] [COMPROWS numrows]

Parâmetros

table_name

É possível analisar a compactação para tabelas específicas, incluindo tabelas temporárias. É possível qualificar a tabela com o nome do esquema. Como opção, é possível especificar nome_tabela para analisar uma tabela exclusiva. Se você não especificar um table_name, todas as tabelas conectadas no banco de dados no momento serão analisadas. Não é possível especificar mais de um table_name com uma única instrução ANALYZE COMPRESSION.

column_name

Se especificar um table_name, você também pode especificar uma ou mais colunas na tabela (como uma lista separada por colunas entre parênteses).

COMPROWS

Número de linhas a serem usadas como o tamanho de exemplo para análise de compactação. A análise é executada em linhas de cada fatia de dados. Por exemplo, se você especificar COMPROWS 1000000 (1.000.000) e o sistema tiver 4 fatias no total, não mais do que 250.000 linhas por fatia serão lidas e analisadas. Se COMPROWS não for especificado, o padrão do tamanho de exemplo será 100.000 por fatia. Os valores de COMPROWS menores que o padrão de 100.000 linhas por fatia são atualizados automaticamente para o valor padrão. Porém, a análise de compactação não produzirá recomendações se o valor de dados na tabela for insuficiente para produzir um exemplo significativo. Se o número de COMPROWS for maior que o número de linhas na tabela, o comando ANALYZE COMPRESSION continuará e executará a análise de compactação para todas as linhas disponíveis. O uso de COMPROWS gerará um erro se uma tabela não for especificada.

numrows

Número de linhas a serem usadas como o tamanho de exemplo para análise de compactação. O intervalo aceito para numrows é um número entre 1000 e 1000000000 (1.000.000.000).

Observações de uso

ANALYZE COMPRESSION adquire um bloqueio exclusivo de tabela que impede leituras e gravações simultâneas na tabela. Execute o comando ANALYZE COMPRESSION somente quando a tabela estiver ociosa.

Execute ANALYZE COMPRESSION para obter recomendações de esquemas de codificação de coluna com base em uma amostra do conteúdo da tabela. ANALYZE COMPRESSION é uma ferramenta de consulta e não modifica as codificações de coluna da tabela. A codificação sugerida pode ser aplicada recriando a tabela ou criando uma tabela com o mesmo esquema. Recriar uma tabela descompactada com esquemas de codificação apropriados pode reduzir significativamente o espaço ocupado no disco. Essa abordagem economiza espaço em disco e melhora a performance da consulta para workloads limitados a E/S.

ANALYZE COMPRESSION ignora a fase de análise real e retorna diretamente o tipo de codificação original em qualquer coluna designada como SORTKEY. Ele faz isso porque verificações restritas por intervalo podem ter uma má performance quando as colunas SORTKEY são muito mais compactadas que outras colunas.

Exemplos

O exemplo a seguir mostra a codificação e a redução percentual estimada somente para as colunas na tabela LISTING:

analyze compression listing; Table | Column | Encoding | Est_reduction_pct ---------+----------------+----------+------------------- listing | listid | az64 | 40.96 listing | sellerid | az64 | 46.92 listing | eventid | az64 | 53.37 listing | dateid | raw | 0.00 listing | numtickets | az64 | 65.66 listing | priceperticket | az64 | 72.94 listing | totalprice | az64 | 68.05 listing | listtime | az64 | 49.74

O exemplo a seguir analisa as colunas QTYSOLD, COMMISSION e SALETIME na tabela SALES.

analyze compression sales(qtysold, commission, saletime); Table | Column | Encoding | Est_reduction_pct -------+------------+----------+------------------- sales | salesid | N/A | 0.00 sales | listid | N/A | 0.00 sales | sellerid | N/A | 0.00 sales | buyerid | N/A | 0.00 sales | eventid | N/A | 0.00 sales | dateid | N/A | 0.00 sales | qtysold | az64 | 83.06 sales | pricepaid | N/A | 0.00 sales | commission | az64 | 71.85 sales | saletime | az64 | 49.63