Ir para o conteúdo

Por que uma tabela no Amazon Redshift mostra uma alta porcentagem não classificada quando vacuum_sort_benefit value é 0?

3 minuto de leitura
0

Uma tabela no Amazon Redshift mostra uma alta porcentagem não classificada, mas tem um valor de vacuum_sort_benefit de 0.

Breve descrição

O Amazon Redshift calcula a coluna não classificada em SVV_TABLE_INFO para mostrar a porcentagem de dados da tabela que não corresponde à ordem das chaves de classificação. Se a porcentagem não classificada for alta, uma operação de classificação VACUUM poderá melhorar o desempenho da consulta.

O valor de vacuum_sort_benefit determina se uma operação de classificação pode melhorar o desempenho. Quando o valor é 0, o Amazon Redshift não pode se beneficiar de uma operação VACUUM porque a classificação não otimiza as consultas.

Uma alta porcentagem não classificada com um valor de vacuum_sort_benefit de 0 pode ocorrer pelos seguintes motivos:

  • O Amazon Redshift determina que a classificação oferece benefícios mínimos com base em planos de consulta recentes. As consultas acessam somente uma pequena parte da tabela, ou poucas consultas acessam a tabela.
  • As consultas não são filtradas nem classificadas pelas colunas da chave de classificação. A classificação oferece benefícios mínimos, mesmo quando a tabela parece não classificada.
  • Nenhuma consulta é executada na tabela, então o Amazon Redshift não precisa otimizar a ordem de classificação.

Para mais informações, consulte Vacuum de tabelas.

Resolução

Para determinar se a classificação melhora o desempenho, revise os valores de vacuum_sort_benefit e não classificados.

Se o valor de vacuum_sort_benefit for igual a 0 e o valor não classificado for alto, seus padrões de consulta não se beneficiarão da classificação de dados. A métrica vacuum_sort_benefit calcula a possível melhoria no desempenho da consulta a partir da classificação com base em seus padrões de workload.

Execute a consulta a seguir para obter os valores:

SELECT "schema", "table", sortkey1, sortkey_num, unsorted, vacuum_sort_benefit
 FROM SVV_TABLE_INFO
WHERE "table" = 'table_name';

Observação: substitua table_name pelo nome da tabela.

Certifique-se de que a chave de classificação esteja alinhada com as colunas de filtro frequentemente consultadas. Se a chave de classificação não for relevante para os padrões de consulta, uma alta porcentagem não classificada não afetará significativamente o desempenho.

Se você determinar que a classificação melhora o desempenho, execute o seguinte comando de classificação VACUUM para limpar manualmente a tabela:

VACUUM SORT ONLY table_name;

Observação: substitua table_name pelo nome da tabela.

Informações relacionadas

Classificação automática de tabelas

AWS OFICIALAtualizada há um ano