

# Analisar consultas com a guia SQL principal no Insights de Performance
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics"></a>

No painel do Amazon RDS Performance Insights, é possível encontrar informações sobre consultas recentes em execução na guia **Top SQL** (SQL principal), na tabela **Top dimensions** (Principais dimensões). É possível utilizar essas informações para ajustar suas consultas.

**Topics**
+ [Visão geral da guia Top SQL (SQL principal)](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL)
+ [Acessar mais texto SQL no painel do Performance Insights.](USER_PerfInsights.UsingDashboard.SQLTextSize.md)
+ [Visualizar estatísticas SQL no painel do Performance Insights](USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel.md)

## Visão geral da guia Top SQL (SQL principal)
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL"></a>

Por padrão, a guia **Top SQL** (SQL principal) mostra as 25 consultas que mais estão contribuindo para a carga do banco de dados. Para ajudar a ajustar as consultas, é possível analisar informações como o texto da consulta e as estatísticas de SQL. Você também pode escolher as estatísticas que deseja tornar visíveis na guia **Top SQL** (SQL principal).

**Topics**
+ [Texto SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text)
+ [Estatísticas SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics)
+ [Load by waits (AAS) (Carga por esperas)](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits)
+ [Visualizar informações do SQL](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information)
+ [Escolher preferências de estatísticas](#USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences)

### Texto SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.text"></a>

Por padrão, cada linha na tabela **Top SQL** (SQL principal) mostra 500 bytes de texto para cada declaração. 

![\[Texto SQL\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/sql-text-oracle.png)


Para saber como ver mais do que os 500 bytes padrão de texto SQL, consulte [Acessar mais texto SQL no painel do Performance Insights.](USER_PerfInsights.UsingDashboard.SQLTextSize.md).

Um *resumo SQL* é formado por várias consultas reais com estruturas semelhantes, mas que possivelmente apresentam valores literais diferentes. O resumo substitui valores codificados por um ponto de interrogação. Por exemplo, um resumo pode ser `SELECT * FROM emp WHERE lname= ?`. Esse resumo pode incluir as seguintes consultas subordinadas:

```
SELECT * FROM emp WHERE lname = 'Sanchez'
SELECT * FROM emp WHERE lname = 'Olagappan'
SELECT * FROM emp WHERE lname = 'Wu'
```

Para ver as instruções SQL literais em um resumo, escolha a consulta e depois o sinal de mais (\$1). No exemplo a seguir, a consulta selecionada é de resumo.

![\[Resumo SQL selecionado\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_4b.png)


**nota**  
Um resumo SQL agrupa instruções SQL semelhantes, mas não edita informações confidenciais.

O Performance Insights pode mostrar o texto Oracle SQL como **Unknown** (Desconhecido). O texto tem esse status nas seguintes situações:
+ Um usuário de banco de dados Oracle diferente de `SYS` está ativo, mas não está executando SQL no momento. Por exemplo, quando uma consulta paralela é concluída, o coordenador de consultas aguarda que os processos auxiliares enviem suas estatísticas de sessão. Durante a espera, o texto da consulta é exibido como **Unknown** (Desconhecido).
+ Para uma instância do RDS para Oracle na Standard Edition, o Oracle Resource Manager limita o número de threads paralelos. O processo em segundo plano que realiza esse trabalho faz com que o texto da consulta seja exibido como **Unknown** (Desconhecido).

### Estatísticas SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.statistics"></a>

*Estatísticas SQL* são métricas de performance sobre consultas SQL. Por exemplo, o Performance Insights pode exibir execuções por segundo ou linhas processadas por segundo. O Performance Insights apenas coleta estatísticas para as consultas mais comuns. Normalmente, elas correspondem às principais consultas por carga mostradas no painel do Performance Insights. 

Todas as linhas da tabela **Top SQL** (SQL principal) mostram estatísticas relevantes para a instrução ou o resumo SQL, como mostra exemplo a seguir.

![\[SQL principal\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_4.png)


O Performance Insights pode relatar `0.00` e `-` (unknown) (desconhecido) para estatísticas SQL. Essa situação ocorre nas seguintes condições:
+ Existe apenas uma amostra. Por exemplo, o Performance Insights calcula as taxas de alteração para consultas do RDS PostgreSQL com base em várias amostras da visualização `pg_stat_statements`. Quando uma workload é executada por um curto período, o Performance Insights consegue coletar apenas uma amostra, o que significa que ele não consegue calcular uma taxa de alteração. O valor desconhecido é representado com um traço (`-`).
+ Duas amostras têm os mesmos valores. O Performance Insights não consegue calcular uma taxa de alteração porque não ocorreu nenhuma alteração, portanto, ele relata a taxa como `0.00`.
+ Uma instrução do RDS PostgreSQL não tem um identificador válido. O PostgreSQL cria um identificador para uma instrução somente após a análise. Assim, pode existir uma instrução nas estruturas internas na memória do PostgreSQL sem identificador. Como o Performance Insights cria amostras de estruturas internas na memória uma vez por segundo, consultas de baixa latência podem aparecer apenas para uma única amostra. Se o identificador de consultas não estiver disponível para essa amostra, o Performance Insights não conseguirá associar essa instrução às suas estatísticas. O valor desconhecido é representado com um traço (`-`).

Para obter uma descrição das estatísticas SQL para o mecanismos do Amazon RDS, consulte [Estatísticas SQL para Performance Insights](sql-statistics.md).

### Load by waits (AAS) (Carga por esperas)
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Load-by-waits"></a>

Em **Top SQL** (SQL principal), a coluna **Load by waits (AAS)** (Carga por esperas) mostra a porcentagem da carga do banco de dados associada a cada item de carga principal. Essa coluna reflete a carga desse item por qualquer agrupamento atualmente selecionado no **Gráfico de carga de banco de dados**. Para obter mais informações sobre média de sessões ativas (AAS), consulte [Média de sessões ativas](USER_PerfInsights.Overview.ActiveSessions.md#USER_PerfInsights.Overview.ActiveSessions.AAS).

Por exemplo, é possível agrupar o gráfico **DB load** (Carga do banco de dados) com base em estados de espera. Examine consultas SQL na tabela de itens de carga principal. Nesse caso, a barra **DB Load by Waits (Carga de banco de dados por espera)** é dimensionada, segmentada e codificada por cores para mostrar com quanto de um determinado estado de espera a consulta está contribuindo. Ela também mostra quais estados de espera estão afetando a consulta selecionada.

![\[Carga de banco de dados por esperas\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_6.png)


### Visualizar informações do SQL
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.SQL-information"></a>

Na tabela **Top SQL** (SQL principal), é possível abrir uma instrução para visualizar suas informações. As informações são exibidas no painel inferior.

![\[Tabela SQL principal com consulta literal selecionada\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-open.png)


Os seguintes tipos de identificadores (IDs) associados a instruções SQL:
+ **ID SQL de suporte**: Um valor de hash do ID SQL. Esse valor só se destina a referenciar um ID SQL quando você está trabalhando com o AWS Support. AWS O Support não tem acesso a IDs SQL reais e ao texto SQL.
+ **ID de arquivo de resumo de suporte**: um valor de hash do ID de arquivo de resumo. Esse valor apenas se destina como referência a um ID de arquivo de resumo quando você está trabalhando com o AWS Support. AWS O Support não tem acesso a IDs de arquivo de resumo reais e ao texto SQL.

### Escolher preferências de estatísticas
<a name="USER_PerfInsights.UsingDashboard.Components.AvgActiveSessions.TopLoadItemsTable.TopSQL.Preferences"></a>

É possível controlar as estatísticas exibidas na guia **Top SQL** (SQL principal) selecionando o ícone **Preferences** (Preferências).

![\[Preferências de estatísticas\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences-icon.png)


Quando você escolhe o ícone **Preferences (Preferências)**, a janela **Preferences (Preferências)** abre. O screenshot a seguir é um exemplo da janela **Preferences** (Preferências).

![\[Janela de preferências\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-sql-ids-preferences.png)


Para habilitar as estatísticas que você deseja tornar visíveis na guia **Top SQL** (SQL principal), use o mouse para rolar até o final da janela e depois escolha **Continue** (Continuar). 

Para obter mais informações sobre estatísticas por segundo ou por chamada para os mecanismos do Amazon RDS, consulte a seção de estatísticas SQL específicas do mecanismo em[Estatísticas SQL para Performance Insights](sql-statistics.md)

# Acessar mais texto SQL no painel do Performance Insights.
<a name="USER_PerfInsights.UsingDashboard.SQLTextSize"></a>

Por padrão, cada linha na tabela **Top SQL** (SQL principal) mostra 500 bytes de texto SQL para cada instrução SQL.

![\[500 bytes de SQL\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-top-sql-bytes.png)


Quando uma instrução SQL excede 500 bytes, você pode visualizar mais texto na seção **SQL text** (Texto SQL) abaixo da tabela **Top SQL** (SQL principal). Nesse caso, o comprimento máximo para o texto exibido em **SQL text** (Texto SQL) é de 4 KB. Esse limite é introduzido pelo console e está sujeito aos limites definidos pelo mecanismo de banco de dados. Para salvar o texto mostrado em **SQL text** (Texto SQL), escolha **Download**.

**Topics**
+ [Limites de tamanho de texto para mecanismos Amazon RDS](#sql-text-engine-limits)
+ [Definir o limite do texto SQL para instâncias de banco de dados do Amazon RDS for PostgreSQL](USER_PerfInsights.UsingDashboard.SQLTextLimit.md)
+ [Visualizar e baixar texto SQL no painel do Performance Insights](view-download-text.md)

## Limites de tamanho de texto para mecanismos Amazon RDS
<a name="sql-text-engine-limits"></a>

Quando você baixa um texto SQL, o mecanismo de banco de dados determina o tamanho máximo dele. Você pode baixar texto SQL até os seguintes limites por mecanismo.


| Mecanismo de banco de dados | Tamanho máximo do texto para download | 
| --- | --- | 
| Amazon RDS para MySQL e MariaDB | O comprimento é fixado em 4.096 bytes quando o Performance Schema está habilitado. Se o Performance Schema não estiver habilitado, o comprimento será fixado em 65.535 bytes. | 
| Amazon RDS para Microsoft SQL Server | 4,096 caracteres | 
| Amazon RDS para Oracle | 1.000 bytes | 

A seção **SQL text** (Texto SQL) do console do Performance Insights mostra até o máximo que o mecanismo retorna. Por exemplo, se o MySQL retorna no máximo 1 KB para o Performance Insights, ele só pode coletar e mostrar 1 KB, mesmo que a consulta original seja maior. Assim, quando você visualiza ou baixa a consulta em **SQL text** (Texto SQL), o Performance Insights retorna o mesmo número de bytes.

Se você usar a AWS CLI ou a API, o Insights de Performance não terá o limite de 4 KB aplicado pelo console. `DescribeDimensionKeys` e `GetResourceMetrics` exibem no máximo 500 bytes. 

**nota**  
`GetDimensionKeyDetails` exibe a consulta completa, mas o tamanho está sujeito ao limite do mecanismo.

# Definir o limite do texto SQL para instâncias de banco de dados do Amazon RDS for PostgreSQL
<a name="USER_PerfInsights.UsingDashboard.SQLTextLimit"></a>

Amazon RDS for PostgreSQL lida com texto de forma diferente. Você pode definir o limite de tamanho de texto com o parâmetro de instância de banco de dados `track_activity_query_size`. Esse parâmetro tem as seguintes características:

Tamanho de texto padrão  
No Amazon RDS para PostgreSQL versão 9.6, a configuração padrão do parâmetro `track_activity_query_size` é 1.024 bytes. No Amazon RDS para PostgreSQL versão 10 ou superior, o padrão é 4.096 bytes.

Tamanho máximo do texto  
O limite para `track_activity_query_size` é de 102.400 bytes para Amazon RDS para PostgreSQL versão 12 e inferiores. O máximo é de 1 MB para a versão 13 e posterior.   
Se o mecanismo retornar 1 MB ao Performance Insights, o console exibirá somente os primeiros 4 KB. Se você baixar a consulta, você obtém o total de 1 MB. Nesse caso, a visualização e o download retornam números diferentes de bytes. Para obter mais informações sobre o parâmetro de instância de banco de dados `track_activity_query_size`, consulte [Estatísticas de tempo de execução](https://www.postgresql.org/docs/current/runtime-config-statistics.html) na documentação do PostgreSQL.

Para aumentar o tamanho do texto SQL, aumente o limite `track_activity_query_size`. Para modificar o parâmetro, altere a configuração dele no grupo de parâmetros que está associado à instância de banco de dados do Amazon RDS for PostgreSQL.

**Para alterar a configuração quando a instância usa o grupo de parâmetros padrão**

1. Crie um novo grupo de parâmetros de instância de banco de dados para o mecanismo de banco de dados apropriado e sua respectiva versão.

1. Defina o parâmetro no novo grupo de parâmetros.

1. Associe o novo grupo de parâmetros à instância de banco de dados.

Para obter informações sobre como configurar um parâmetro de instância de banco de dados, consulte [Modificar parâmetros em um grupo de parâmetros de banco de dados no Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

# Visualizar e baixar texto SQL no painel do Performance Insights
<a name="view-download-text"></a>

No painel do Performance Insights, é possível visualizar ou baixar o texto SQL.

**Para visualizar mais texto SQL no painel do Performance Insights**

1. Abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Performance Insights**.

1. Escolha uma instância de banco de dados.

1. Role para baixo até a guia **SQL principal** no painel do Insights de Performance.

1. Escolha o sinal de adição para expandir um resumo SQL e selecione uma das consultas secundárias do resumo.

   Instruções SQL com texto maior que 500 bytes são semelhantes à imagem a seguir.  
![\[Instruções SQL com texto grande\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-1.png)

1. Role para baixo até a guia **SQL text** (texto SQL).  
![\[Seção de informações SQL mostra mais do texto SQL\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf-insights-large-text-2.png)

   O painel do Performance Insights pode exibir até 4.096 bytes para cada instrução SQL.

1. (Opcional) Escolha **Copy** (Copiar) para copiar a instrução SQL exibida ou escolha **Download** (Baixar) para baixar a instrução SQL a fim de visualizar o texto SQL até o limite do mecanismo de banco de dados.
**nota**  
Para copiar ou baixar a instrução SQL, desabilite bloqueadores de pop-up. 

# Visualizar estatísticas SQL no painel do Performance Insights
<a name="USER_PerfInsights.UsingDashboard.AnalyzeDBLoad.AdditionalMetrics.AnalyzingSQLLevel"></a>

No painel do Performance Insights, as estatísticas SQL estão disponíveis na guia **Top SQL** (SQL principal) do grafo **Database load** (Carga do banco de dados).

**Como visualizar estatísticas SQL**

1. Abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No painel de navegação, escolha **Performance Insights**.

1. Na parte posterior da página, escolha o banco de dados cujas estatísticas SQL você deseja ver.

1. Navegue até o final da página e escolha a guia **Top SQL** (SQL principal).

1. Escolha uma instrução individualou consulta de resumo.  
![\[Visualizar métricas de consultas em execução\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_sql.png)

1. Escolha quais estatísticas exibir, escolhendo o ícone de engrenagem no canto superior direito do gráfico. Para obter as descrições das estatísticas SQL para o mecanismos do Amazon RDS, consulte [Estatísticas SQL para Performance Insights](sql-statistics.md).

   O exemplo a seguir mostra as preferências de estatísticas para instâncias de banco de dados Oracle.  
![\[Preferências de métricas para consultas em execução de instâncias de banco de dados Oracle.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_oracle.png)

   O exemplo a seguir mostra as preferências para instâncias de banco de dados do MariaDB e MySQL.  
![\[Preferências de métricas para consultas em execução de instâncias de banco de dados MariaDB e MySQL.\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_pref_ams.png)

1. Escolha Save (Salvar) para salvar suas preferências.

   A tabela **Top SQL** (SQL principal) é atualizada.

   O exemplo a seguir mostra estatísticas de uma consulta SQL do Oracle.  
![\[Estatísticas de uma consulta SQL\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/perf_insights_per_sql_stats_oracle.png)