Chaves de classificação
nota
Recomendamos que você crie suas tabelas com SORTKEY AUTO
. Se você fizer isso, o Amazon Redshift usará a otimização automática de tabela para escolher a chave de classificação. Para obter mais informações, consulte Otimização automática de tabelas. O restante desta seção fornece detalhes sobre a ordem de classificação.
Ao criar uma tabela, você pode definir alternativamente uma ou mais de suas colunas como chaves de classificação. Quando os dados são carregados na tabela vazia, as linhas são armazenadas em disco na ordem de classificação. As informações sobre as colunas de chave de classificação são transmitidas ao planejador de consulta, que usa essas informações para construir planos que exploram a forma como os dados são classificados. Para ter mais informações, consulte CRIAR TABELA. Para obter informações sobre práticas recomendadas ao criar uma chave de classificação, consulte Selecione a melhor chave de classificação.
A classificação permite o manuseio eficiente de predicados de alcance restrito. O Amazon Redshift armazena dados colunares em blocos de disco de 1 MB. Os valores mínimos e máximos para cada bloco são armazenados como parte dos metadados. Se a consulta usar um predicado restrito por intervalo, o processador de consulta poderá usar os valores mínimos e máximos para ignorar rapidamente um grande número de blocos durante varreduras da tabela. Por exemplo, suponha que uma tabela armazena cinco anos de dados classificados por data e uma consulta especifica um intervalo de um mês. Nesse caso, você pode remover até 98% dos blocos de disco da verificação. Se os dados não estiverem classificados, a varredura deverá incluir um número maior de blocos de disco (possivelmente todos).
Você pode especificar uma chave de classificação composta ou intercalada. Uma chave de classificação composta é mais eficiente quando os predicados de consulta usam um prefixo, que é um subconjunto das colunas de chave de classificação ordenadas. Uma chave de classificação intercalada concede igual peso a todas as colunas na chave de classificação, portanto os predicados de consulta podem usar qualquer subconjunto de colunas que componha a chave de classificação, em qualquer ordem.
Para compreender o impacto da chave de classificação escolhida na performance da consulta, use o comando EXPLAIN. Para obter mais informações, consulte Planejamento de consulta e fluxo de trabalho de execução.
Para definir um tipo de classificação, use a palavra-chave INTERLEAVED ou COMPOUND com sua instrução CREATE TABELA ou CREATE TABLE AS. O padrão é COMPOUND. COMPOUND é recomendado quando você atualiza tabelas regularmente com as operações INSERT, UPDATE ou DELETE. Uma chave de classificação INTERLEAVED pode usar um máximo de oito colunas. Dependendo dos dados e do tamanho do cluster, VACUUM REINDEX leva muito mais tempo do que VACUUM FULL porque faz uma passagem adicional para analisar as chaves de classificação intercaladas. As operações de classificação e mesclagem podem levar mais tempo para tabelas intercaladas porque a classificação intercalada pode precisar reorganizar mais linhas do que uma classificação composta.
Para visualizar as chaves de classificação para uma tabela, consulte a exibição de sistema SVV_TABLE_INFO.