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:
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...