Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ GaussDB(for MySQL)/ Guia de usuário/ Proxy de banco de dados (divisão de leitura/gravação)/ Configuração do modo de processamento de várias instruções
Atualizado em 2024-09-29 GMT+08:00

Configuração do modo de processamento de várias instruções

Pré-requisitos

Para configurar o modo de processamento de várias instruções no console, envie uma solicitação escolhendo Service Tickets > Create Service Ticket.

Cenários

Ao ativar a execução de várias instruções para uma instância de proxy, você pode definir o modo de processamento de várias instruções como Strict (valor padrão), Loose ou Parse. Para mais detalhes, consulte Modo de processamento de várias instruções.

Procedimento

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página, escolha Databases > GaussDB(for MySQL).
  4. Na página Instances, clique no nome da instância para acessar a página Basic Information.
  5. No painel de navegação à esquerda, escolha Database Proxy, selecione uma instância de proxy e clique em seu nome.
  6. No painel de navegação à esquerda, escolha Parameter Modification, altere o valor de multiStatementType para Strict, Loose e Parse. Para mais detalhes, consulte Modo de processamento de várias instruções.
  7. Clique em Save para salvar a alteração. Na caixa de diálogo exibida, clique em Yes.

Modo de processamento de várias instruções

O modo de processamento de várias instruções alterado se aplica à instância do proxy imediatamente. Você não precisa reinicializar a instância do proxy. Se uma conexão de divisão de leitura/gravação falhar devido a uma execução de várias instruções, alterar o modo de processamento de várias instruções não restaurará a conexão. Você precisará reconectar a conexão manualmente.

  • Strict (modo padrão)

    Se uma solicitação contendo várias instruções for roteada para o nó primário, as solicitações subsequentes serão todas roteadas para o nó primário. A divisão de leitura/gravação pode ser restaurada somente após você desconectar a conexão atual e reconectá-la.

    Suas instâncias de proxy não analisarão essas instruções, portanto, o desempenho é melhor. É adequado para conexões curtas.

  • Loose

    Se uma solicitação contendo várias instruções for roteada para o nó primário, as solicitações subsequentes da conexão atual ainda poderão ser roteadas para o nó primário ou para réplicas de leitura.

    Suas instâncias de proxy não analisarão essas instruções, portanto, o desempenho é melhor. É bom para quando várias instruções contêm apenas instruções SQL DML e não contêm operações como definir variáveis de sessão, criar tabelas temporárias, criar procedimentos armazenados ou executar transações não confirmadas.

  • Parse

    Se uma solicitação contendo várias instruções for roteada para o nó primário, a instância de proxy do banco de dados analisará essas instruções e determinará se deseja restaurar a divisão de leitura/gravação para solicitações subsequentes da conexão atual com base nas operações nas instruções SQL. Para obter detalhes sobre operações em instruções SQL, consulte Descrição da análise.

    As instruções de análise afetam o desempenho da instância do proxy. O grau do impacto depende do comprimento e da complexidade das instruções. Recomenda-se que as instruções sejam inferiores a 100 MB.

Descrição da análise

Se as instruções múltiplas contiverem as operações listadas aqui, todas as solicitações subsequentes serão roteadas para o nó primário. Para restaurar a divisão de leitura/gravação, você precisa desconectar a conexão e restabelecê-la.

  • Criação de tabelas temporárias
  • Criação de procedimentos armazenados
  • Execução de transações não confirmadas (por exemplo, begin é executado, mas commit ou rollback não é executado)
  • Execução de sintaxe complexa ou especial. Essas instruções não serão analisadas.