

# Analisar planos de execução usando o painel do Insights de Performance para o Amazon RDS
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans"></a>

No painel do Insights de Performance do Amazon RDS, é possível encontrar informações sobre planos de execução para instâncias de banco de dados do Oracle e do SQL Server. É possível usar essas informações para saber quais planos contribuem mais para a carga do banco de dados.

Para analisar os planos de execução do Oracle ou do SQL Server, consulte os tópicos a seguir.

**Analisar planos de execução**
+ [Analisar planos de execução do Oracle usando o painel do Insights de Performance para o Amazon RDS](USER_PerfInsights.UsingDashboard.AccessPlans.md)
+ [Analisar planos de execução do SQL Server usando o painel do Insights de Performance para o Amazon RDS](USER_PerfInsights.UsingDashboard.AccessPlansSqlServer.md)

## Visão geral da análise de planos de execução para o Amazon RDS
<a name="USER_PerfInsights.UsingDashboard.AnalyzingPlans.Overview"></a>

É possível usar o painel do Insights de Performance do Amazon RDS para saber quais planos contribuem mais para a carga de banco de dados das instâncias de banco de dados do Oracle e do SQL Server. 

 Por exemplo, as principais instruções SQL em um determinado momento podem estar usando os planos mostrados na tabela a seguir.


****  

| SQL principal | Planejamento | 
| --- | --- | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 10  |  Plano A  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 521  |  Plano B  | 
|  SELECT SUM(s\$1total) FROM sales WHERE region = 10  |  Plano A  | 
|  SELECT \$1 FROM emp WHERE emp\$1id = 1000  |  Plano C  | 
|  SELECT SUM(amount\$1sold) FROM sales WHERE prod\$1id = 72  |  Plano A  | 

Com o recurso de plano do Performance Insights, você pode fazer o seguinte:
+ Descobrir quais planos são usados pelas principais consultas SQL. 

  Por exemplo, você pode descobrir que a maior parte da carga de banco de dados é gerada por consultas usando o plano A e o plano B, com apenas uma pequena porcentagem usando o plano C.
+ Comparar planos diferentes para a mesma consulta. 

  No exemplo anterior, três consultas são idênticas, exceto o ID do produto. Duas consultas usam o plano A, mas uma consulta usa o plano B. Para ver a diferença nos dois planos, você pode usar o Performance Insights.
+ Descobrir quando uma consulta mudou para um novo plano. 

  Você pode ver que uma consulta usou o plano A e, em seguida, mudou para o plano B em um determinado momento. Houve uma alteração no banco de dados neste momento? Por exemplo, se uma tabela estiver vazia, o otimizador poderá escolher uma varredura de tabela completa. Se a tabela for carregada com um milhão de linhas, o otimizador poderá alternar para uma varredura de intervalo de índice.
+ Verifique as etapas específicas de um plano com o maior custo.

  Por exemplo, uma consulta de longa execução pode mostrar uma condição de união ausente em uma equi-join. Essa condição faltante força uma união cartesiana, que une todas as linhas de duas tabelas.

Você pode executar as tarefas anteriores usando o recurso de captura de plano do Performance Insights. Assim como você pode dividir consultas por eventos de espera e SQL principal, é possível separá-las pela dimensão do plano.

# Analisar planos de execução do Oracle usando o painel do Insights de Performance para o Amazon RDS
<a name="USER_PerfInsights.UsingDashboard.AccessPlans"></a>

Ao analisar a carga de banco de dados em um banco de dados Oracle, talvez você queira saber quais planos estão contribuindo mais para a carga do banco de dados. É possível determinar quais planos estão contribuindo mais para a carga de banco de dados usando o recurso de captura de plano do Insights de Performance. 

**Para analisar planos de execução Oracle usando o console**

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 do Oracle. O painel do Performance Insights será exibido nessa instância de banco de dados.

1. Na seção **Database load (DB load)** (Carga de banco de dados (carga de DB)), escolha **Plans** (Planos) o lado de **Slice by** (Separar por).

   O gráfico Média de sessões ativas mostra os planos usados pelas instruções SQL principais. Os valores de hash do plano aparecem à direita dos quadrados codificados por cores. Cada valor de hash identifica exclusivamente um plano.  
![\[Separe por planos\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans.png)

1. Role para baixo até a guia **Top SQL ** (SQL principal).

   No exemplo a seguir, o resumo do SQL principal tem dois planos. Você pode dizer que é um resumo pelo ponto de interrogação na instrução.   
![\[Escolha um plano de resumo\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected.png)

1. Escolha o resumo para expandi-lo em suas instruções de componente.

   No exemplo a seguir, a instrução `SELECT` é uma consulta de resumo. As consultas de componentes no resumo usam dois planos diferentes. As cores dos planos correspondem ao gráfico de carga do banco de dados. O número total de planos no resumo é mostrado na segunda coluna.  
![\[Escolha um plano de resumo\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-digest-plan.png)

1. Role para baixo e escolha dois **Planos** para comparar na lista de **Planos para consulta de resumo**.

   Você pode visualizar um ou dois planos para uma consulta por vez. A captura de tela a seguir compara os dois planos no resumo, com hash 2032253151 e hash 1117438016. No exemplo a seguir, 62% das sessões ativas médias que executam essa consulta de resumo estão usando o plano à esquerda, enquanto 38% estão usando o plano à direita.  
![\[Compare os planos lado a lado\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-compare-plan.png)

   Neste exemplo, os planos diferem de forma importante. A Etapa 2 do plano 2032253151 usa uma verificação de índice, enquanto o plano 1117438016 usa uma varredura de tabela completa. Para uma tabela com um grande número de linhas, uma consulta de uma única linha é quase sempre mais rápida com uma varredura de índice.  
![\[Compare os planos lado a lado\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-table-access.png)

1. (Opcional) Escolha **Copy** (Copiar) para copiar o plano para a área de transferência ou **Download** (Baixar) para salvar o plano no disco rígido. 

# Analisar planos de execução do SQL Server usando o painel do Insights de Performance para o Amazon RDS
<a name="USER_PerfInsights.UsingDashboard.AccessPlansSqlServer"></a>

Ao analisar a carga do banco de dados em um SQL Server Database, convém saber quais planos estão contribuindo mais para a carga do banco de dados. É possível determinar quais planos estão contribuindo mais para a carga de banco de dados usando o recurso de captura de plano do Insights de Performance. 

**Como analisar planos de execução do SQL Server usando o console**

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 do SQL Server. O painel do Performance Insights será exibido nessa instância de banco de dados.

1. Na seção **Database load (DB load)** (Carga de banco de dados (carga de DB)), escolha **Plans** (Planos) o lado de **Slice by** (Separar por).

   O gráfico Média de sessões ativas mostra os planos usados pelas instruções SQL principais. Os valores de hash do plano aparecem à direita dos quadrados codificados por cores. Cada valor de hash identifica exclusivamente um plano.  
![\[Separe por planos\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-slice-by-plans-sqlserver.png)

1. Role para baixo até a guia **Top SQL ** (SQL principal).

   No exemplo a seguir, o resumo do SQL principal tem três planos. A presença de um ponto de interrogação na declaração SQL indica que a declaração é um resumo. Para visualizar a declaração SQL completa, escolha um valor na coluna **Declarações SQL**.  
![\[Escolha um plano de resumo\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/top-sql-plans-unselected-sqlserver.png)

1. Escolha o resumo para expandi-lo em suas instruções de componente.

   No exemplo a seguir, a instrução `SELECT` é uma consulta de resumo. As consultas de componentes no resumo usam três planos diferentes. As cores atribuídas aos planos correspondem ao grafo de carga do banco de dados.  
![\[Escolha um plano de resumo\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-digest-plan-sqlserver.png)

1. Role para baixo e escolha dois **Planos** para comparar na lista de **Planos para consulta de resumo**.

   Você pode visualizar um ou dois planos para uma consulta por vez. O screenshot a seguir compara os dois planos no resumo. No exemplo a seguir, 40% das sessões ativas médias que executam essa consulta de resumo estão usando o plano à esquerda, enquanto 28% estão usando o plano à direita.  
![\[Compare os planos lado a lado\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-compare-plan-sqlserver.png)

   No exemplo anterior, os planos apresentam diferenças importantes. A etapa 2 no plano à esquerda usa uma verificação de tabela, enquanto o plano à direita usa uma verificação de índice em cluster. Para uma tabela com um grande número de linhas, uma consulta que recupere uma única linha é quase sempre mais rápida com uma verificação de índice em cluster.

1. (Opcional) Selecione o ícone **Configurações** na tabela Detalhes do plano para personalizar a visibilidade e a ordem das colunas. O screenshot a seguir mostra a tabela Detalhes do plano com a coluna **Lista de saídas** como a segunda coluna.  
![\[Personalizar a visibilidade e a ordem das colunas na tabela Detalhes do plano\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/pi-plan-fields-sql-server.png)

1. (Opcional) Escolha **Copy** (Copiar) para copiar o plano para a área de transferência ou **Download** (Baixar) para salvar o plano no disco rígido. 

**nota**  
O Insights de Performance exibe planos de execução estimados usando uma tabela de árvore hierárquica. A tabela inclui as informações de execução parcial de cada declaração. Para ter mais informações sobre as colunas na tabela Detalhes do plano, consulte [SET SHOWPLAN\$1ALL](https://learn.microsoft.com/en-us/sql/t-sql/statements/set-showplan-all-transact-sql) na documentação do SQL Server. Para exibir as informações de execução completa de um plano de execução estimado, escolha **Fazer download** para baixar o plano e, depois, carregue o plano no SQL Server Management Studio. Para ter mais informações sobre a exibição de um plano de execução estimado usando o SQL Server Management Studio, consulte [Display an Estimated Execution Plan](https://learn.microsoft.com/en-us/sql/relational-databases/performance/display-the-estimated-execution-plan) na documentação do SQL Server. 