STL_VACUUM - Amazon Redshift

STL_VACUUM

Exibe as estatísticas relativas a linhas e blocos para as tabelas que foram limpadas.

A exibição mostra informações específicas de quando cada operação de vácuo começou e terminou e demonstra os benefícios de executar a operação. Para obter informações sobre os requisitos para executar este comando, consulte a descrição do comando VACUUM.

STL_VACUUM só permanece visível para superusuários. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.

Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS SYS_VACUUM_HISTORY. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender. É recomendável usar a exibição de monitoramento SYS nas consultas.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário que gerou a entrada.
xid bigint O ID da transação para a instrução VACUUM. Você pode associar esta tabela à visualização STL_QUERY para ver as instruções SQL individuais que são executadas para uma determinada transação VACUUM. Se você limpar o banco de dados inteiro, cada tabela é limpada em uma transação separada.
table_id inteiro O ID da tabela.
status character(30)

O status da operação VACUUM para cada tabela. Os valores possíveis são os seguintes:

  • Started

  • Started Delete Only

  • Started Delete Only (Sorted >= nn%)

    Apenas a fase de exclusão foi iniciada para um VACUUM FULL. A fase de classificação foi ignorada porque a tabela já foi classificada no limite ou acima do limite de classificação.

  • Started Sort Only

  • Started Ranged Partition

  • Started Reindex

  • Finished

    O horário em que a operação foi concluída para a tabela. Para saber quanto tempo uma operação de limpeza levou em uma determinada tabela, subtraia o horário de início do horário de término para um ID de transação e ID de tabela específicos.

  • Skipped

    A tabela foi ignorada porque já foi totalmente classificada e não existem linhas marcadas para exclusão.

  • Skipped (delete only)

    A tabela foi ignorada porque a opção DELETE ONLY foi especificada e não existem linhas marcadas para exclusão.

  • Skipped (sort only)

    A tabela foi ignorada porque a opção SORT ONLY foi especificada e a tabela já foi totalmente classificada.

  • Skipped (sort only, sorted>=xx%)

    A tabela foi ignorada porque a opção SORT ONLY foi especificada e a tabela já foi classificada no limite ou acima do limite de classificação.

  • Skipped (0 rows)

    A tabela foi ignorada porque estava vazia.

  • VacuumBG

    Uma operação de limpeza automática foi executada em segundo plano. Esse status é anexado a outros status quando eles são executados automaticamente. Por exemplo, uma limpeza somente de exclusão executada automaticamente teria uma linha inicial com o status [VacuumBG] Started Delete Only.

Para obter mais informações sobre como configurar o limite de classificação do VACUUM, consulte VACUUM.

rows bigint O número real de linhas na tabela e mais todas as linhas excluídas que ainda estão armazenadas em disco (esperando para serem limpadas). Esta coluna mostra a contagem antes do início da limpeza para as linhas com status Started e a contagem após a limpeza para as linhas com status Finished.
sortedrows inteiro O número de linhas na tabela que estão classificadas. Esta coluna mostra a contagem antes do início da limpeza para as linhas definidas com Started na coluna Status e a contagem após a limpeza para as linhas definidas com Finished na coluna Status.
blocks inteiro O número total de blocos de dados usados para armazenar os dados da tabela antes da operação de limpeza (linhas com status Started) e após a operação de limpeza (coluna Finished). Cada bloco de dados usa 1 MB.
max_merge_partitions inteiro Essa coluna é usada para a análise de performance e representa o número máximo de partições que a limpeza pode processar para a tabela por iteração de fase de mesclagem. (A limpeza classifica a região não classificada em uma ou mais partições classificadas. Dependendo do número de colunas na tabela e da configuração atual do Amazon Redshift, a fase de mesclagem pode processar um número máximo de partições em uma única iteração de mesclagem. A fase de mesclagem ainda pode prosseguir se o número de partições classificadas ultrapassar o número máximo de partições de mesclagem, mas serão necessárias mais iterações de mesclagem).
eventtime timestamp Quando a operação de limpeza começou ou terminou.
reclaimable_rows bigint O número de linhas recuperáveis para o cutoff_xid atual. Essa coluna mostra o número estimado de linhas recuperáveis do Redshift antes do início da limpeza para linhas com um status Started e o número real de linhas recuperáveis restantes após a limpeza para linhas com o status Finished.
reclaimable_space_mb bigint Espaço recuperável em MB para o cutoff_xid atual. Essa coluna mostra a quantidade estimada de linhas recuperáveis do Redshift antes do início da limpeza para linhas com o status Started e a quantidade real de espaço recuperável restante após a limpeza para linhas com o status Finished.
cutoff_xid bigint O ID da transação de limite da operação de VACUUM. Todas as transações após o limite não são incluídas na operação de VACUUM.
is_recluster inteiro Se 1 (true), a operação de VACUUM executou o algoritmo de reagrupamento; se 0 (false), não executou.

Consultas de exemplo

A consulta a seguir relata as estatísticas de limpeza para a tabela 108313. A tabela foi limpada depois de uma série de inserções e exclusões.

select xid, table_id, status, rows, sortedrows, blocks, eventtime, reclaimable_rows, reclaimable_space_mb from stl_vacuum where table_id=108313 order by eventtime; xid | table_id | status | rows | sortedrows | blocks | eventtime | reclaimable_rows | reclaimable_space_mb -------+----------+-------------------------+------+------------+--------+----------------------+------------------+---------------------- 14294 | 108313 | Started | 1950 | 408 | 28 | 2016-05-19 17:36:01 | 984 | 17 14294 | 108313 | Finished | 966 | 966 | 11 | 2016-05-19 18:26:13 | 0 | 0 15126 | 108313 | Skipped(sorted>=95%) | 966 | 966 | 11 | 2016-05-19 18:26:38 | 0 | 0

No início de VACUUM, a tabela continha 1.950 linhas armazenadas em 28 blocos de 1 MB. O Amazon Redshift estimou que poderia recuperar 984 ou 17 blocos de espaço em disco com uma operação de limpeza.

Na linha do status Finished (Concluído), a coluna ROWS mostra um valor de 966 e o valor da coluna BLOCKS é 11, abaixo de 28. A limpeza recuperou a quantidade estimada de espaço em disco, sem linhas ou espaço recuperáveis após a conclusão da operação de limpeza.

Na fase de classificação (transação 15126), a limpeza ignorou a tabela, pois as linhas foram inseridas na ordem da chave de classificação.

O exemplo a seguir mostra as estatísticas de uma limpeza com SORT ONLY na tabela SALES (tabela 110116 neste exemplo) após uma grande operação INSERT:

vacuum sort only sales; select xid, table_id, status, rows, sortedrows, blocks, eventtime from stl_vacuum order by xid, table_id, eventtime; xid |table_id| status | rows |sortedrows|blocks| eventtime ----+--------+-----------------+-------+----------+------+-------------------- ... 2925| 110116 |Started Sort Only|1379648| 172456 | 132 | 2011-02-24 16:25:21... 2925| 110116 |Finished |1379648| 1379648 | 132 | 2011-02-24 16:26:28...