SVV_QUERY_STATE - Amazon Redshift

SVV_QUERY_STATE

Use a exibição SVV_QUERY_STATE para visualizar as informações sobre o tempo de execução de consultas em execução no momento.

A exibição SVV_QUERY_STATE contém um subconjunto de dados da tabela STV_EXEC_STATE.

SVV_QUERY_STATE é visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter 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_QUERY_DETAIL. 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.

nota

Essa visualização só está disponível ao consultar clusters provisionados.

Colunas da tabela

Nome da coluna Tipo de dados Descrição
userid inteiro O ID do usuário que gerou a entrada.
consulta inteiro ID da consulta. Ele pode ser usado para unir várias outras tabelas e exibições do sistema.
seg inteiro O número do segmento de consulta que está em execução. Uma consulta consiste em vários segmentos e cada segmento consiste em uma ou mais etapas. Os segmentos de uma consulta podem ser executados em paralelo. Cada segmento executa em um único processo.
etapa inteiro O número da etapa de consulta que está em execução. Uma etapa é a menor unidade do tempo de execução de uma consulta. Cada etapa representa uma unidade de trabalho distinta, como fazer a varredura de uma tabela, retornar resultados ou classificar dados.
maxtime interval O tempo máximo (em microssegundos) para executar esta etapa.
avgtime interval O tempo médio (em microssegundos) para executar esta etapa.
rows bigint O número de linhas produzidas pela etapa que está em execução.
bytes bigint O número de bytes produzidos pela etapa que está em execução.
cpu bigint Para uso interno.
memory bigint Para uso interno.
rate_row double precision A taxa de linhas por segundo desde o início da consulta, calculada pela soma das linhas e divisão pelo número de segundos, desde quando a consulta começou até a hora atual.
rate_byte double precision A taxa de bytes por segundo desde o início da consulta, calculada pela soma dos bytes e divisão pelo número de segundos, desde quando a consulta começou até a hora atual.
rótulo character(25) O rótulo da consulta: um nome para a etapa, como scan ou sort.
is_diskbased character(1) Indica se esta etapa da consulta é executada como uma operação em disco: true (t, verdadeiro) ou false (f, falso). Somente algumas etapas, como hash, classificação e etapas de agregação podem ir para o disco. Muitos tipos de etapas são sempre realizados na memória.
workmem bigint A quantidade de memória de trabalho (em bytes) atribuída à etapa da consulta.
num_parts inteiro O número de partições em que a tabela hash é particionada durante uma etapa de hash. Um número positivo nessa coluna não significa que a etapa de hash é executada como uma operação em disco. Verifique o valor na coluna IS_DISKBASED para ver se a etapa de hash foi executada em disco.
is_rrscan character(1) O valor true (t) indica que a varredura restrita ao intervalo foi utilizada na etapa. O padrão é false (f).
is_delayed_scan character(1) O valor true (t) indica que a varredura com atraso foi utilizada na etapa. O padrão é false (f).

Consultas de exemplo

Determinação do tempo de processamento de uma consulta por etapa

A consulta a seguir mostra quanto tempo cada etapa da consulta com a ID de consulta 279 levou para ser executada e quantas linhas de dados o Amazon Redshift processou:

select query, seg, step, maxtime, avgtime, rows, label from svv_query_state where query = 279 order by query, seg, step;

Esta consulta recupera as informações do processamento da consulta 279, como mostram os seguintes dados de saída de exemplo:

query | seg | step | maxtime | avgtime | rows | label ------+---------+------+---------+---------+---------+------------------- 279 | 3 | 0 | 1658054 | 1645711 | 1405360 | scan 279 | 3 | 1 | 1658072 | 1645809 | 0 | project 279 | 3 | 2 | 1658074 | 1645812 | 1405434 | insert 279 | 3 | 3 | 1658080 | 1645816 | 1405437 | distribute 279 | 4 | 0 | 1677443 | 1666189 | 1268431 | scan 279 | 4 | 1 | 1677446 | 1666192 | 1268434 | insert 279 | 4 | 2 | 1677451 | 1666195 | 0 | aggr (7 rows)

Determinar se há consultas ativas em execução no disco

A consulta a seguir mostra se há consultas ativas em execução no disco no momento:

select query, label, is_diskbased from svv_query_state where is_diskbased = 't';

Esta saída de exemplo mostra as consultas ativas em execução no disco no momento:

query | label | is_diskbased -------+--------------+-------------- 1025 | hash tbl=142 | t (1 row)