

 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/). 

# Query Profiler
<a name="using-query-plan-profiler"></a>

Este documento descreve o Query Profiler, uma ferramenta gráfica para analisar os componentes e o desempenho de uma consulta.

O Query Profiler é um recurso de monitoramento e solução de problemas de consultas que pode ser visualizado por meio do console do Amazon Redshift. Ele é útil para analisar o desempenho da consulta. Seu objetivo principal é mostrar uma ordem de execução visual e gráfica, um plano de execução e estatísticas sobre uma consulta, facilitando a compreensão e a solução de problemas. O Query Profiler ajuda você a analisar os seguintes tipos de componentes de consulta:
+ **Consultas secundárias**: uma consulta secundária é uma parte do trabalho de uma consulta. O Amazon Redshift pode dividir uma consulta em várias consultas secundárias se isso for mais eficiente do que processá-la como uma consulta grande e única. No profiler, você pode ver as propriedades de cada consulta secundária. Uma consulta secundária é composta por fluxos e subcomponentes adicionais.

  Os tipos de consulta secundária que o Query Profiler mostra geralmente incluem o seguinte:
  + **Consulta de tabela temporária**: o texto dessa consulta secundária começa com o comando `CREATE TEMP TABLE`. Essa consulta secundária cria tabelas temporárias para processamento de outras consultas secundárias.
  + **Consulta de estatísticas**: o Query Profiler adiciona o seguinte comentário ao início dessa consulta secundária para ajudar a identificá-la:

    ```
    -- collect statistics of child query queryID
    ```

    Esta consulta secundária coleta informações que o mecanismo de consulta do Amazon Redshift usa para otimizar o desempenho.
**nota**  
O Query Profiler mostra a consulta que o usuário fornece como a última consulta secundária executada pelo Amazon Redshift.
+ **Fluxos**: um fluxo é uma coleção de segmentos agrupados em fatias de nós de computação disponíveis. Toda consulta secundária é composta por um ou mais segmentos. No Query Profiler, você pode ver as propriedades de cada fluxo, como seu tempo de execução. Ao examinar a lista de fluxos, é provável que você encontre rapidamente gargalos de desempenho.
+ **Segmentos**: um segmento é uma combinação de várias etapas que um único processo pode executar. Um segmento também é a menor unidade de compilação executável por uma fatia de nó de computação. Uma fatia é a unidade de processamento paralelo no Amazon Redshift. Os segmentos em um fluxo são executados em paralelo. O Query Profiler não mostra segmentos graficamente, mas você pode acessar as informações do segmento de uma etapa no painel de detalhes dessa etapa.
+ **Etapas**: cada segmento é composto por uma coleção de etapas. Uma etapa é uma parte do trabalho em uma consulta. As etapas podem incluir um *hashjoin*, por exemplo, ou uma *verificação*, que é a leitura de registros de uma tabela.

Para obter mais informações sobre fluxos, segmentos e etapas, consulte [Planejamento de consulta e fluxo de trabalho de execução](https://docs.aws.amazon.com/redshift/latest/dg/c-query-planning.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*. 

O criador de perfil de consultas exibe informações retornadas pelas visualizações `SYS_QUERY_HISTORY`, `SYS_QUERY_DETAIL`, `SYS_QUERY_EXPLAIN` e `SYS_CHILD_QUERY_TEXT`. Para obter mais informações sobre essas visualizações, consulte [SYS\$1QUERY\$1HISTORY](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY), [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html), [SYS\$1QUERY\$1EXPLAIN](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_EXPLAIN.html) e [SYS\$1CHILD\$1QUERY\$1TEXT](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CHILD_QUERY_TEXT.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

O Query Profiler exibe somente informações de consultas que foram executadas recentemente no banco de dados. Uma consulta concluída usando dados de cache pré-preenchidos em vez de ser executada no banco de dados não terá um perfil de consulta se as informações não estavam disponíveis anteriormente para ela. Isso ocorre porque o Amazon Redshift não gera um plano de consulta para ela. 

## Pré-requisitos para usar o Criador de perfil de consultas
<a name="using-query-plan-profiler-prereqs"></a>

As visualizações de monitoramento de SYS foram projetadas para serem fáceis de usar e diminuir a complexidade, fornecendo um conjunto completo de métricas para contribuir para a eficácia de monitoramento e solução de problemas. As visualizações de monitoramento SYS também garantem o histórico de consultas dos últimos sete dias, independentemente do tamanho ou da atividade do cluster. Os usuários só têm visibilidade para as consultas que eles executaram, enquanto os superusuários têm visibilidade para as consultas de todos os usuários.

A conta ou o perfil do usuário do IAM precisa de permissões para acessar a seção **Monitoramento de consultas e bancos de dados** do console. Esta seção descreve como adicionar permissões a uma conta ou um perfil de usuário.

Use a seguinte política para adicionar permissões mínimas à conta ou ao perfil do usuário do IAM: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift:DescribeClusters",
                "redshift-serverless:ListNamespaces",
                "redshift-serverless:ListWorkgroups",
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:GetStatementResult"
            ],
            "Resource": [
                "arn:aws:redshift-serverless:us-east-1:111122223333:*",
                "arn:aws:redshift:us-east-1:111122223333:*"
            ]
        }
    ]
}
```

------

**Topics**
+ [Conceder permissões de monitoramento de consultas a um perfil](#using-query-plan-profiler-prereqs-role)
+ [Conceder permissões de monitoramento de consultas a um usuário](#using-query-plan-profiler-prereqs-user)
+ [Credenciais temporárias usando sua identidade do IAM](#using-query-plan-profiler-prereqs-temp-iam)

### Conceder permissões de monitoramento de consultas a um perfil
<a name="using-query-plan-profiler-prereqs-role"></a>

Os usuários com um perfil que tenha a permissão `sys:monitor` conseguem visualizar todas as consultas. Os usuários com um perfil que tenha a permissão `sys:operator` podem cancelar consultas, analisar o histórico de consultas e executar operações vacuum.

**Para conceder permissão de monitoramento de consultas a uma função**

1. Insira o comando a seguir para fornecer acesso ao monitor do sistema, em que *role-name* é o nome do perfil ao qual você deseja oferecer acesso.

   ```
   grant role sys:monitor to "IAMR:role-name";
   ```

1. (Opcional) Insira o comando a seguir para fornecer acesso de operador do sistema, em que *role-name* é o nome do perfil ao qual você deseja oferecer acesso.

   ```
   grant role sys:operator to "IAMR:role-name";
   ```

### Conceder permissões de monitoramento de consultas a um usuário
<a name="using-query-plan-profiler-prereqs-user"></a>

Os usuários com a permissão `sys:monitor` podem visualizar todas as consultas. Os usuários com permissão `sys:operator` podem cancelar consultas, analisar o histórico de consultas e executar operações vacuum.

**Para conceder permissão de monitoramento de consultas a um usuário**

1. Insira o comando a seguir para fornecer acesso ao monitor do sistema, em que *user-name* é o nome do usuário ao qual você deseja oferecer acesso.

   ```
   grant role sys:monitor to "IAMR:user-name";
   ```

1. (Opcional) Insira o comando a seguir para fornecer acesso de operador do sistema, em que *-name* é o nome do usuário ao qual você deseja oferecer acesso.

   ```
   grant role sys:operator to "IAMR:user-name";
   ```

### Credenciais temporárias usando sua identidade do IAM
<a name="using-query-plan-profiler-prereqs-temp-iam"></a>

Essa opção só está disponível ao se conectar a um cluster. Com esse método, o Criador de perfil de consultas associa um nome de usuário à identidade do IAM e gera uma senha temporária para estabelecer conexão com o banco de dados como sua identidade do IAM. Um usuário que usa esse método para se conectar deve ter permissão do IAM para `redshift:GetClusterCredentialsWithIAM`. Para impedir que os usuários usem esse método, modifique o perfil ou usuário do IAM para negar essa permissão. 

## Acessar o Query Profiler no console do Amazon Redshift para analisar uma consulta
<a name="using-query-plan-profiler-accessing"></a>

Você pode acessar o Query Profiler tanto para o Amazon Redshift sem servidor quanto para o Amazon Redshift provisionado. Para detalhes, consulte estas seções:

**Topics**
+ [Acessar o Query Profiler no console do Amazon Redshift para o Amazon Redshift sem servidor](#using-query-plan-profiler-accessing-serverless)
+ [Acessar o Query Profiler no console do Amazon Redshift para o Amazon Redshift provisionado](#using-query-plan-profiler-accessing-provisioned)

### Acessar o Query Profiler no console do Amazon Redshift para o Amazon Redshift sem servidor
<a name="using-query-plan-profiler-accessing-serverless"></a>

Para acessar o Query Profiler para o Amazon Redshift sem servidor, faça o seguinte:
+ Abra o console do Amazon Redshift sem servidor.
+ No painel de navegação, em **Monitoramento**, escolha **Monitoramento de consultas e bancos de dados**.
+ Escolha um grupo de trabalho.
+ Escolha **Monitoramento de consultas e bancos de dados**.
+ Escolha uma consulta.
+ Escolha a guia **Plano de consulta** na página **Detalhes da consulta**.

Se um plano de consulta estiver disponível, você verá uma lista de consultas secundárias. Escolha uma consulta para visualizá-la no Query Profiler.

### Acessar o Query Profiler no console do Amazon Redshift para o Amazon Redshift provisionado
<a name="using-query-plan-profiler-accessing-provisioned"></a>

Para acessar o Query Profiler para o Amazon Redshift provisionado, faça o seguinte:
+ Abra o painel de clusters do Amazon Redshift provisionado.
+ Selecione um cluster.
+ Escolha **Query monitoring** (Monitoramento de consultas).
+ Conectar a um banco de dados
+ Escolha **Monitoramento de consultas e bancos de dados**.
+ Escolha uma consulta.

Se um plano de consulta estiver disponível, você verá uma lista de consultas secundárias. Escolha uma consulta para visualizá-la no Query Profiler.

## Interface do usuário do Query Profiler
<a name="using-query-plan-profiler-ui"></a>

O Query Profiler usa as seguintes páginas para exibir informações sobre sua consulta:
+ ** [Página de detalhes da consulta](#using-query-plan-profiler-ui-query-details) ** – esta página exibe estatísticas e consultas secundárias para sua consulta.
+ ** [Página Consulta secundária](#using-query-plan-profiler-ui-child-query) ** – esta página exibe estatísticas, fluxos e uma representação visual do plano de execução de uma consulta secundária. O console exibe essa página quando você escolhe uma consulta secundária na lista **Consultas secundárias** na página **Monitoramento de consultas e bancos de dados**.

### Página de detalhes da consulta
<a name="using-query-plan-profiler-ui-query-details"></a>

![\[Query details interface showing execution time, data returned, and performance breakdown for query 4960.\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/metrics_qp_query_details.png)


A página Detalhes da consulta tem os seguintes componentes:
+ **Painel superior**: o painel na parte superior da página mostra detalhes sobre a consulta, como status e tipo. Para obter informações sobre a origem das informações que o painel superior mostra, consulte [SYS\$1QUERY\$1HISTORY](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_HISTORY.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.
+ **Guia SQL**: essa guia do painel inferior mostra o texto SQL da consulta original do usuário.
+ **Guia Plano de consulta**: essa guia do painel inferior mostra uma lista das consultas secundárias que o Amazon Redshift usa para preparar dados e estatísticas para a consulta do usuário. Por padrão, a lista **Consultas secundárias** mostra informações e estatísticas agregadas sobre cada consulta secundária. Para obter informações sobre a origem das informações que esta página mostra, consulte [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

  Você pode adicionar ou remover colunas da lista **Consultas secundárias** usando o menu Preferências.
+ **Métricas relacionadas**: essa guia do painel inferior mostra as seguintes métricas do CloudWatch para a consulta: 
  + **Capacidade de RPU usada** (para grupos de trabalho sem servidor): a capacidade computacional usada pela consulta, medida em unidades de processamento do Redshift (RPU). Para obter mais informações, consulte [Capacidade computacional do Amazon Redshift Serverless](serverless-capacity.md).
  + **Status de integridade do cluster**, **Utilização da CPU**, **Capacidade de armazenamento usada** (para clusters provisionados): o status e os recursos do sistema usados pela consulta.
  + **Conexões ativas do banco de dados**: a métrica `DatabaseConnections` da consulta. 

  Para ter mais informações sobre métricas do CloudWatch, consulte [Dados de performance no Amazon Redshift](metrics-listing.md).

### Página Consulta secundária
<a name="using-query-plan-profiler-ui-child-query"></a>

![\[Query execution plan showing stages from Distribute to Aggregate with execution times.\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/metrics_qp_child_query_plan.png)


A página Consulta secundária tem os seguintes componentes:
+ **Lista suspensa Consultas secundárias**: esse controle mostra o nome da sequência e o tempo de execução de cada consulta secundária. Você pode navegar até outras consultas secundárias selecionando-as nesse controle.
+ **Painel lateral**: esse painel contém guias para exibir os fluxos de consulta secundários e o texto da consulta secundária. 
+ **Guia de fluxos de consulta secundários**: essa guia do painel superior exibe o seguinte:
  + **Fluxos**: esse painel mostra a lista de fluxos na consulta secundária. Esse painel mostra informações e dados agregados sobre os fluxos que o Amazon Redshift usa para otimizar a consulta. Para obter informações sobre os detalhes desse painel, consulte [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

    Você pode adicionar ou remover colunas do painel **Fluxos** usando o menu Preferências. Você pode acessar o menu Preferências usando o ícone de engrenagem no painel **Fluxos**. 
  + **Painel Consulta secundária**: uma representação gráfica das etapas na consulta secundária. Para obter informações sobre o painel **Consulta secundária**, consulte [Painel Consulta secundária](#using-query-plan-profiler-child-query-pane) a seguir.
+ **Guia de texto da consulta secundária**: essa guia do painel superior mostra o código SQL da consulta secundária.
+ **Painel Detalhes da consulta secundária**: esse painel à direita mostra detalhes sobre a consulta secundária. Para obter informações sobre os detalhes desse painel, consulte [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.
+ **Painel Detalhes do fluxo**: quando você escolhe um fluxo no painel **Fluxos**, o painel **Detalhes do fluxo** mostra as informações pertinentes. Para obter informações sobre os detalhes desse painel, consulte [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.
+ **Painel Detalhes da etapa**: quando você escolhe uma etapa no painel **Fluxos** ou no gráfico no **plano Consulta secundária**, o painel **Detalhes da etapa** mostra informações sobre a etapa. Para obter informações sobre os detalhes nesse painel, consulte [SYS\$1QUERY\$1DETAIL](https://docs.aws.amazon.com/redshift/latest/dg/SYS_QUERY_DETAIL.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

## Painel Consulta secundária
<a name="using-query-plan-profiler-child-query-pane"></a>

O Query Profiler exibe a consulta secundária no painel **Consulta secundária** como uma representação gráfica das etapas na consulta secundária selecionada. 

O painel **Consulta secundária** exibe a ordem de execução e as relações entre as etapas. Por exemplo, se uma etapa unir a saída de duas outras etapas, o painel **Consulta secundária** mostrará a etapa como um nó de árvore com dois nós convergendo para ela:

![\[Tree diagram showing Hashjoin step with Scan + Item and Hash steps as child nodes.\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/metrics_qp_hashjoin.png)


O painel **Consulta secundária** não mostra os fluxos que contêm as etapas por padrão. Para mostrar os fluxos que o Amazon Redshift usa para particionar logicamente as etapas na consulta secundária, escolha **Exibir fluxos**. Quando você escolhe **Exibir fluxos**, o painel **Consulta secundária** mostra as etapas contidas nos fluxos da consulta.

O painel **Consulta secundária** não mostra informações de segmento. Para ver o segmento de uma etapa, escolha a etapa. Em seguida, o painel **Detalhes da etapa** mostra o segmento da etapa.

### Navegação no painel Consulta secundária
<a name="using-query-plan-profiler-child-query-pane-navigation"></a>

No painel **Consulta secundária**, você pode escolher etapas para ver informações detalhadas sobre elas. Você também pode aplicar panorâmica e zoom no espaço de trabalho para visualizar melhor as etapas em seu plano de consulta.

Você pode escolher nós, panorâmica e zoom no plano **Consulta secundária** usando os seguintes métodos:
+ **Uso do mouse**: você pode escolher nós, clicar e arrastar o espaço de trabalho para aplicar panorâmica e segurar **Ctrl** (Windows) ou **CMD** (Mac) e girar a roda do mouse para ampliar. A escolha de um nó aplica panorâmica e zoom no espaço de trabalho para destacar esse nó. Se você escolher um fluxo no espaço de trabalho, esse fluxo será destacado na lista **Fluxos**. Se você escolher uma etapa no espaço de trabalho, o painel **Detalhes da etapa** mostrará informações sobre ela.
+ **Uso dos controles de zoom e ajuste no canto superior esquerdo do espaço de trabalho**: esses controles permitem ampliar, reduzir o zoom, ampliar para caber em todo o espaço de trabalho e entrar no modo de tela cheia. Quando você amplia para caber em todo o plano de consulta, o espaço de trabalho centraliza o plano de consulta na horizontal e na vertical. 
+ **Uso do minimapa no canto inferior direito do espaço de trabalho**: você pode aplicar panorâmica ou zoom ao espaço de trabalho usando o controle de minimapa no canto inferior esquerdo do espaço de trabalho.
+ **Escolha de um fluxo no painel **Fluxos****: se você escolher um fluxo no painel **Fluxos**, serão aplicados panorâmica e zoom ao espaço de trabalho para mostrar o fluxo selecionado e informações sobre ele no painel **Detalhes do fluxo**.
+ **Escolha de uma etapa no painel **Detalhes do fluxo****: se você escolher uma etapa no painel **Detalhes do fluxo**, serão aplicados panorâmica e zoom ao espaço de trabalho para mostrar a etapa selecionada e informações sobre ela no painel **Detalhes da etapa**.

**nota**  
Quando você escolhe uma etapa, seja no espaço de trabalho ou em um painel diferente, o espaço de trabalho tenta uma configuração de panorâmica e zoom que mostre a etapa selecionada da melhor forma possível.   
Quando você escolhe um fluxo ou etapa do espaço de trabalho ou de outro painel, só serão aplicados panorâmica e zoom ao espaço de trabalho para esse fluxo ou etapa se a opção **Panorâmica e zoom** estiver selecionada no controle superior direito do espaço de trabalho. Você pode restringir esse comportamento a panorâmica e zoom, somente panorâmica ou ausência de movimento, basta escolher a configuração apropriada no menu suspenso.  

![\[Dropdown menu showing pan and zoom options for workspace navigation control.\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/metrics_qp_pan_zoom.png)


## Solução de problemas de consultas com o Query Profiler
<a name="using-query-plan-profiler-troubleshooting"></a>

Se você estiver solucionando problemas de uma consulta, poderá escolher uma consulta secundária para determinar qual fluxo usa a maior **Porcentagem do tempo total de consulta**. Essa é uma maneira rápida de determinar qual parte da sua consulta deve ser analisada mais detalhadamente. 

Depois de saber qual consulta secundária está demorando mais, visualize as respectivas etapas para ver qual junção ou verificação pode estar causando lentidão no desempenho.