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.
Atualizado em 2024-09-29 GMT+08:00

Controle de concorrência

Cenários

O controle de simultaneidade de instruções SQL visa manter as instâncias do GaussDB(for MySQL) em execução estável, mesmo se houver um aumento repentino nas instruções SQL simultâneas.

Restrições

  • Esta função está disponível apenas para as instâncias do GaussDB(for MySQL) que atendem aos seguintes requisitos:
    • 2.0.28.40 > versão do kernel ≥ 2.0.28.15
    • Versão do kernel ≥ 2.0.29.1
  • Cada regra de controle de simultaneidade SQL pode conter até 128 palavras-chave.
  • As palavras-chave em uma regra não podem conter \t, \r e \n e não podem ser uma barra invertida (\) ou um único caractere nulo ('').
  • Espaços no início, no final ou no meio de uma palavra-chave são ignorados.
  • A regra de controle de simultaneidade SQL não pode terminar com um til (~).
  • As palavras-chave em uma regra de controle de simultaneidade são classificadas em uma ordem específica e o sistema irá combiná-las da primeira à última. Por exemplo, se uma regra contém a palavra-chave a~and~b, o sistema corresponde apenas xxx a>1 and b>2.
  • Cada regra de controle de simultaneidade SQL se aplica somente às instruções SQL que o banco de dados recebeu após a criação da regra.
  • Se regras diferentes forem criadas para o nó primário e réplicas de leitura de uma instância de banco de dados, as regras ainda se aplicarão ao nó primário e as réplicas de leitura depois que suas funções forem alteradas.
  • Se uma instrução SQL corresponder a várias regras de controle de simultaneidade, somente a regra criada mais recentemente será aplicada.
  • As instruções SQL que foram executadas antes de uma regra de controle de simultaneidade ser adicionada não são contadas.
  • O comprimento total de todas as regras para as instruções SELECT, UPDATE ou DELETE e o valor de Concurrency em cada regra não pode exceder 1024 bytes.
  • Se você adicionar muitas regras de controle de simultaneidade SQL para sua instância, a execução das instruções SELECT, UPDATE ou DELETE ficará mais lenta.
  • As regras de controle de simultaneidade SQL são aplicadas com base na correspondência de prefixo. Por exemplo, se a regra de controle de simultaneidade for SELECT~COUNT~t1, as instruções SQL SELECT COUNT(*) FROM t1 e SELECT COUNT(*) FROM t1 LIMIT 1 serão interceptadas.
  • Depois que o controle de simultaneidade é acionado, um erro de execução é relatado no lado do serviço, indicando que a execução da consulta foi interrompida. O código de erro é ERROR 1317 (70100).
  • Essa função controla quantas instruções podem ser executadas ao mesmo tempo. No entanto, isso não limita a simultaneidade para:
    • catálogo do sistema
    • Consultas em que não há dados de banco de dados envolvidos, como select sleep(xxx)
    • Conta root
    • Instruções SQL em procedimentos armazenados, gatilhos e funçõ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 de banco de dados para acessar a página Basic Information.
  5. No painel de navegação, escolha DBA Assistant > Historical Diagnosis.
  6. Escolha SQL Explorer > Concurrency Control.
  7. Na página exibida, habilite Concurrency Control.
  8. Clique em Add Rule. Na caixa de diálogo exibida, especifique SQL Type, Keyword e Max. Concurrency.

    Figura 1 Adição de uma regra
    • Keyword: você pode inserir palavras-chave ou copiar uma instrução SQL existente na caixa de texto e clicar em Generate Keyword.

      Keyword: tome select~a como um exemplo. select e a são duas palavras-chave contidas em uma regra de controle de concorrência. As palavras-chave são separadas por um til (~). Neste exemplo, a regra restringe a execução apenas das instruções SQL que contêm as palavras-chave select e a.

    • Max. Concurrency: as instruções SQL que atendem ao tipo e à palavra-chave de SQL especificados e excedem o valor de Max. Concurrency não serão executadas.
    • Se você selecionar Kill existing sessions that meet this rule, as sessões que atendam à regra serão eliminadas.
    • Se você selecionar Synchronize rules to other nodes, as novas regras poderão ser sincronizadas com outros nós na mesma instância.

  9. Confirme as configurações e clique em OK.
  10. Se uma regra de controle de concorrência não for necessária, selecione a regra e clique em Delete acima da lista de regras. Na caixa de diálogo exibida, clique em OK.