Ativar e desativar a consulta paralela no Aurora MySQL - Amazon Aurora

Ativar e desativar a consulta paralela no Aurora MySQL

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 e Constructos do SQL para consulta paralela no Aurora MySQL.

É 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. 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.

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

  3. 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 ou ModifyDBParameterGroup no AWS Management Console.

É 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.

Habilitar a junção de hash para clusters de consulta paralela

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.

Habilitar e desabilitar a consulta paralela com o uso do console

É 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 AWS Management Console
  1. Crie um parameter group personalizado conforme descrito em Grupos de parâmetros para Amazon Aurora.

  2. 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.

  3. 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

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

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;