

# Ativar e desativar a consulta paralela no Aurora MySQL
<a name="aurora-mysql-parallel-query-enabling"></a>

Quando a consulta paralela está habilitada, o Aurora MySQL determina se deve utilizá-la em tempo de execução para cada consulta. No caso de junções, uniões, subconsultas etc., o Aurora MySQL determinará se usará a consulta paralela em tempo de execução para cada bloco de consulta. Para obter mais detalhes, consulte [Verificar quais declarações usam consulta paralela para Aurora MySQL](aurora-mysql-parallel-query-verifying.md) e [Constructos do SQL para consulta paralela no Aurora MySQL](aurora-mysql-parallel-query-sql.md).

É possível habilitar e desabilitar a consulta paralela dinamicamente no nível global e da sessão para uma instância de banco de dados utilizando a opção **aurora\_parallel\_query**. Você pode alterar a configuração `aurora_parallel_query` no grupo de clusters de banco de dados para ativar ou desativar a consulta paralela por padrão.

```
mysql> select @@aurora_parallel_query;
+------------------------+
| @@aurora_parallel_query|
+------------------------+
|                      1 |
+------------------------+
```

 Para ativar ou desativar o parâmetro `aurora_parallel_query` no nível da sessão, use os métodos padrão para alterar a definição da configuração do cliente. Por exemplo, você pode fazer isso pela linha de comando `mysql` ou em uma aplicação JDBC ou ODBC. O comando no cliente MySQL padrão é `set session aurora_parallel_query = {'ON'/'OFF'}`. Você também pode adicionar o parâmetro de nível de sessão à configuração JDBC ou dentro do código da sua aplicação para habilitar ou desabilitar a consulta paralela dinamicamente. 

 É possível alterar permanentemente a configuração do parâmetro `aurora_parallel_query`, seja para uma instância de banco de dados específica ou para todo o cluster. Se você especificar o valor do parâmetro em um grupo de parâmetros de banco de dados, esse valor só será aplicado a uma instância de banco de dados específica no cluster. Se você especificar o valor do parâmetro em um grupo de parâmetros do cluster de banco de dados, todas as instâncias de banco de dados no cluster herdarão a mesma configuração. Para ativar ou desativar o parâmetro `aurora_parallel_query`, utilize as técnicas usadas com grupos de parâmetros, conforme descrito em [Grupos de parâmetros para Amazon Aurora](USER_WorkingWithParamGroups.md). Siga estas etapas: 

1.  Crie um grupo de parâmetros de cluster personalizado (recomendado) ou um grupo de parâmetros de banco de dados personalizado. 

1.  Nesse grupo de parâmetros, atualize `parallel_query` para o valor desejado. 

1.  Dependendo se você criou um grupo de parâmetros do cluster de banco de dados ou um grupo de parâmetros de banco de dados, anexe o grupo de parâmetros ao cluster do Aurora ou às instâncias de banco de dados específicas nas quais você planeja usar o recurso de consulta paralela. 
**dica**  
Como `aurora_parallel_query` é um parâmetro dinâmico, não é necessário reiniciar o cluster depois de alterar essa configuração. No entanto, todas as conexões que estiverem usando consulta paralela antes de alternar a opção continuarão a fazê-lo até que a conexão seja fechada ou a instância seja reinicializada.

 Você pode modificar o parâmetro da consulta paralela usando a operação da API [ModifyDBClusterParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html) ou [ModifyDBParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) no Console de gerenciamento da AWS. 

É possível ativar a junção de hash para clusters de consulta paralela, ativar e desativar a consulta paralela usando o console do Amazon RDS ou a AWS CLI e substituir o otimizador de consulta paralela.

**Contents**
+ [Habilitar a junção de hash para clusters de consulta paralela](#aurora-mysql-parallel-query-enabling-hash-join)
+ [Habilitar e desabilitar a consulta paralela com o uso do console](#aurora-mysql-parallel-query-enabling-console)
+ [Habilitar e desabilitar a consulta paralela com o uso da CLI](#aurora-mysql-parallel-query-enabling-cli)
+ [Substituir o otimizador de consulta paralela](#aurora-mysql-parallel-query-enabling.aurora_pq_force)

## Habilitar a junção de hash para clusters de consulta paralela
<a name="aurora-mysql-parallel-query-enabling-hash-join"></a>

A consulta paralela é normalmente usada para tipos de consultas que consomem muitos recursos e que se beneficiam da otimização de junções de hash. Portanto, é útil garantir que as junções de hash estejam habilitadas para os clusters nos quais você pretende utilizar a consulta paralela. Para obter informações sobre como habilitar junções de hash e usá-las de maneira eficaz, consulte [Otimizando grandes consultas de junção do Aurora MySQL com junções hash](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin).

## Habilitar e desabilitar a consulta paralela com o uso do console
<a name="aurora-mysql-parallel-query-enabling-console"></a>

 É possível habilitar ou desabilitar a consulta paralela no nível da instância de banco de dados ou do cluster de banco de dados trabalhando com grupos de parâmetros. 

**Para habilitar ou desabilitar a consulta paralela para um cluster de banco de dados com o Console de gerenciamento da AWS**

1.  Crie um parameter group personalizado conforme descrito em [Grupos de parâmetros para Amazon Aurora](USER_WorkingWithParamGroups.md). 

1. Atualize **aurora\_parallel\_query** para **1** (ativada) ou **0** (desativada). Em clusters nos quais o recurso de consulta paralela está disponível, **aurora\_parallel\_query** está desabilitado por padrão.

1.  Se você usar um grupo de parâmetros de cluster personalizado, anexe-o ao cluster de bancos de dados Aurora onde planeja usar o recurso de consulta paralela. Se você usar um grupo de parâmetros de banco de dados personalizado, anexe-o a uma ou mais instâncias de banco de dados no cluster. Recomendamos o uso de um grupo de parâmetros de cluster. Isso garante que todas as instâncias de banco de dados no cluster tenham as mesmas configurações para consulta paralela e recursos associados, como a junção de hash. 

## Habilitar e desabilitar a consulta paralela com o uso da CLI
<a name="aurora-mysql-parallel-query-enabling-cli"></a>

 Você pode modificar o parâmetro de consulta paralela usando o comando `modify-db-cluster-parameter-group` ou `modify-db-parameter-group`. Escolha o comando apropriado dependendo se você especificar o valor de `aurora_parallel_query` por meio de um grupo de parâmetros de cluster de banco de dados ou de um grupo de parâmetros de banco de dados. 

**Para habilitar ou desabilitar a consulta paralela para um cluster de banco de dados com a CLI**
+  Modifique o parâmetro de consulta paralela usando o comando `modify-db-cluster-parameter-group`. Use um comando como o seguinte. Substitua o nome apropriado para o seu próprio grupo de parâmetros personalizado. Substitua `ON` ou `OFF` da parte `ParameterValue` da opção `--parameters`. 

  ```
  $ aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name {{cluster_param_group_name}} \
    --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot
  {
      "DBClusterParameterGroupName": "{{cluster_param_group_name}}"
  }
  
  aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name {{cluster_param_group_name}} \
    --parameters ParameterName=aurora_pq,ParameterValue=ON,ApplyMethod=pending-reboot
  ```

 Você também pode habilitar ou desabilitar a consulta no nível de sessão, por exemplo, por meio da linha de comando `mysql` ou dentro de uma aplicação JDBC ou ODBC. Para fazer isso, use os métodos padrão para alterar uma configuração de cliente. Por exemplo, o comando no cliente MySQL padrão é `set session aurora_parallel_query = {'ON'/'OFF'}` para o Aurora MySQL.

 Você também pode adicionar o parâmetro de nível de sessão à configuração JDBC ou dentro do código da sua aplicação para habilitar ou desabilitar a consulta paralela dinamicamente. 

## Substituir o otimizador de consulta paralela
<a name="aurora-mysql-parallel-query-enabling.aurora_pq_force"></a>

Você pode usar a variável de sessão `aurora_pq_force` para substituir o otimizador de consulta paralela e solicitar uma consulta paralela para cada consulta. Recomendamos que você faça isso apenas para fins de teste. O exemplo a seguir mostra como usar `aurora_pq_force` em uma sessão.

```
set SESSION aurora_parallel_query = ON;
set SESSION aurora_pq_force = ON;
```

Para desativar a substituição, faça o seguinte:

```
set SESSION aurora_pq_force = OFF;
```