

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# STV\_QUERY\_METRICS
<a name="r_STV_QUERY_METRICS"></a>

Contém informações de métricas, como o número de linhas processadas, utilização da CPU, entrada/saída e utilização do disco, para consultas ativas em execução nas filas de consultas definidas pelo usuário (classes de serviço). Para visualizar as métricas para as consultas que foram concluídas, consulte a tabela do sistema [STL\_QUERY\_METRICS](r_STL_QUERY_METRICS.md). 

Para as métricas de consulta, as amostras são feitas em intervalos de um segundo. Consequentemente, diferentes execuções da mesma consulta podem retornar tempos um pouco diferentes. Além disso, os segmentos de consultas executados em menos de 1 segundo podem não ser registrados. 

A tabela STV\_QUERY\_METRICS rastreia e agrega as métricas no nível da consulta, do segmento e das etapas. Para obter informações sobre os segmentos e as etapas de uma consulta, acesse [Planejamento de consulta e fluxo de trabalho de execução](c-query-planning.md). Muitas métricas (como, por exemplo, `max_rows`, `cpu_time`, etc.) são resultado da soma obtida das fatias de nós. Para obter mais informações sobre as fatias de nós, consulte [Arquitetura de sistema do data warehouse](c_high_level_system_architecture.md). 

Para determinar o nível no qual uma linha relata suas métricas, examine as colunas `segment` e `step_type`:
+ Se ambos `segment` e `step_type` são `-1`, a linha relata as métricas no nível da consulta. 
+ Se `segment` não é `-1` e `step_type` é `-1`, a linha relata as métricas no nível do segmento. 
+ Se ambos `segment` e `step_type` são diferentes de `-1`, a linha relata as métricas no nível da etapa. 

STV\_QUERY\_METRICS permanece 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](cm_chap_system-tables.md#c_visibility-of-data).

Alguns ou todos os dados nessa tabela também podem ser encontrados na exibição de monitoramento SYS [SYS\_QUERY\_DETAIL](SYS_QUERY_DETAIL.md). 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
<a name="r_STV_QUERY_METRICS-table-rows2"></a>


| Nome da coluna  | Tipo de dados  | Descrição  | 
| --- | --- | --- | 
| userid  | integer  | O ID do usuário que executou a consulta que gerou a entrada.  | 
| service\_class  | integer  | O ID da fila de consultas do WLM (classe de serviço). As filas de consultas são definidas na configuração do WLM. As métricas são relatadas somente para as filas definidas pelo usuário. | 
| consultar | integer  | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. | 
| starttime  | timestamp  | O horário (em UTC) do início da execução da consulta, com 6 dígitos de precisão fracionária de segundos. Por exemplo: 2009-06-12 11:29:19.131358.  | 
| slices  | integer  | O número de fatias do cluster.  | 
| segment  | integer  | O número do segmento. 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. Se o valor do segmento é -1, os valores das métricas do segmento são acumulados no nível de consulta. | 
| step\_type  | integer  | O tipo da etapa que foi executada. Para obter uma descrição dos tipos de etapas, consulte [Tipos de etapas](#r_STV_QUERY_METRICS-step-type).  | 
| rows  | bigint  | O número de linhas processadas por uma etapa.  | 
| max\_rows  | bigint  | O número máximo de linhas geradas na saída de uma etapa, agregado de todas as fatias. | 
| cpu\_time  | bigint  | O tempo de CPU usado, em microssegundos. No nível de segmento, o tempo total de CPU usado pelo segmento em todas as fatias. No nível de consulta, a soma dos tempos de CPU da consulta em todas as fatias e segmentos.  | 
| max\_cpu\_time  | bigint  | O tempo máximo de CPU usado, em microssegundos. No nível de segmento, o tempo máximo de CPU usado pelo segmento em todas as fatias. No nível de consulta, o tempo máximo de CPU usado por qualquer um dos segmento da consulta.  | 
| blocks\_read  | bigint  | O número de blocos de 1 MB lidos pela consulta ou segmento.  | 
| max\_blocks\_read  | bigint  | O número máximo de blocos de 1 MB lidos pelo segmento, agregado de todas as fatias. No nível de segmento, o número máximo de blocos de 1 MB lidos para o segmento em todas as fatias. No nível de consulta, o número máximo de blocos de 1 MB lidos por qualquer um dos segmentos da consulta.  | 
| run\_time  | bigint  | O tempo total de execução, somado de todas de fatias. O tempo de execução não inclui o tempo de espera. <br />No nível de segmento, o tempo de execução para o segmento, somado de todas as fatias. No nível de consulta, o tempo de execução da consulta, somado de todas as fatias e segmentos. Como esse valor é uma soma, o tempo de execução não está relacionado ao tempo de execução de consulta.  | 
| max\_run\_time  | bigint  | O tempo máximo decorrido para um segmento, em microssegundos. No nível de segmento, o tempo máximo de execução para o segmento em todas as fatias. No nível de consulta, o tempo máximo de execução para qualquer um dos segmento da consulta.  | 
| max\_blocks\_to\_disk  | bigint  | A quantidade máxima de espaço em disco usada para gravar resultados intermediários, em blocos de 1 MB. No nível de segmento, a quantidade máxima de espaço em disco usada pelo segmento em todas as fatias. No nível de consulta, a quantidade máxima de espaço em disco usada por qualquer um dos segmento da consulta.  | 
| blocks\_to\_disk  | bigint  | A quantidade de espaço em disco usada por uma consulta ou segmento para gravar resultados intermediários, em blocos de 1 MB. | 
| etapa | integer  | Etapa da consulta que foi executada. | 
| max\_query\_scan\_size | bigint  | A quantidade máxima de dados pesquisados em varredura por uma consulta, em MB. No nível de segmento, a quantidade máxima de dados pesquisados em varredura por um segmento em todas as fatias. No nível de consulta, a quantidade máxima de dados pesquisados em varredura por qualquer um dos segmento da consulta.  | 
| query\_scan\_size | bigint  | A quantidade de dados pesquisados em varredura por uma consulta, em MB.  | 
| query\_priority  | integer  | A prioridade da consulta. Os valores possíveis são -1, 0, 1, 2, 3 e 4, em que -1 significa que a prioridade da consulta não é compatível.  | 
| query\_queue\_time | bigint  | O tempo em microssegundos que a consulta estava em fila.  | 

## Tipos de etapas
<a name="r_STV_QUERY_METRICS-step-type"></a>

A tabela a seguir lista os tipos de etapas relevantes para os usuários de banco de dados. A tabela não lista os tipos de etapas que são somente para uso interno. Se o tipo da etapa é -1, a métrica não é relatada no nível da etapa.


| Step type (Tipo de etapa) | Descrição  | 
| --- | --- | 
| 1  | Varredura de tabela | 
| 2 | Inserir linhas | 
| 3  | Agregar linhas | 
| 6  | Etapa de classificação | 
| 7 | Etapa de mesclagem | 
| 8 | Etapa de distribuição | 
| 9  | Etapa de distribuição de transmissão | 
| 10 | Junção de hash | 
| 11 | Junção de mesclagem | 
| 12 | Etapa de gravação | 
| 14 | Hash | 
| 15 | Junção de loop aninhado  | 
| 16 | Campos e expressões de projeto | 
| 17 | Limitar o número de linhas retornadas  | 
| 18 | Exclusiva | 
| 20 | Excluir linhas | 
| 26 | Limitar o número de linhas classificadas retornadas | 
| 29 | Computar uma função de janela | 
| 32 | UDF | 
| 33 | Exclusivo | 
| 37 | Retornar as linhas do nó de liderança para o cliente | 
| 38 | Retornar as linhas dos nós de computação para o nó de liderança | 
| 40 | Varredura de espectro. | 

## Consulta de exemplo
<a name="r_STV_QUERY_METRICS-sample-query2"></a>

Para encontrar as consultas ativas com alto nível de tempo de CPU (mais de 1.000 segundos), execute a consulta a seguir.

```
select query, cpu_time / 1000000 as cpu_seconds
from stv_query_metrics where segment = -1 and cpu_time > 1000000000
order by cpu_time;

query | cpu_seconds
------+------------
25775 |        9540
```

Para encontrar as consultas ativas com uma junção de loop aninhado que retornaram mais de um milhão de linhas, execute a seguinte consulta.

```
select query, rows 
from stv_query_metrics 
where step_type = 15 and rows > 1000000
order by rows;

query | rows      
------+-----------
25775 | 1580225854
```

Para encontrar as consultas ativas cujas execuções duraram mais de 60 segundos e que usaram menos de 10 segundos de tempo de CPU, execute a seguinte consulta. 

```
select query, run_time/1000000 as run_time_seconds
from stv_query_metrics 
where segment = -1 and run_time > 60000000 and cpu_time < 10000000;

query | run_time_seconds
------+-----------------
25775 |              114
```