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/ TaurusDB/ Guia de usuário/ Assistente de DBA/ Análise e ajuste de SQL/ Configuração do controle de simultaneidade de instrução SQL
Atualizado em 2025-05-23 GMT+08:00

Configuração do controle de simultaneidade de instrução SQL

Cenários

O controle de simultaneidade de instruções SQL visa manter as instâncias de TaurusDB funcionando de forma estável, mesmo que haja um aumento repentino nas instruções SQL simultâneas.

Restrições

  • Essa função só está disponível para instâncias de TaurusDB 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
  • As regras de controle de simultaneidade para instruções INSERT só são suportadas quando a versão do kernel da instância de TaurusDB é 2.0.54.240600 ou posterior.
  • Uma única regra de controle de simultaneidade pode conter no máximo 128 palavras-chave.
  • Barras invertidas simples (\) ou caracteres nulos simples (' ') não podem ser usados​como palavras-chave.
  • Espaços no início e no final de uma palavra-chave e caracteres nulos especiais (como \'t', \'r' e \'n') serão ignorados.
  • Uma regra de controle de concorrência 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 da adição de uma regra de controle de simultaneidade não são contadas.
  • Se a versão do kernel do TaurusDB for 2.0.54.240600 ou posterior, o comprimento total de todas as regras e consultas simultâneas de um único tipo de SQL (SELECT, UPDATE, DELETE ou INSERT) não poderá exceder 4.000 bytes. O comprimento de uma única regra não pode exceder 1.000 bytes.
  • Se a versão do kernel do TaurusDB for anterior a 2.0.54.240600, o comprimento total de todas as regras e consultas simultâneas de um único tipo de SQL (SELECT, UPDATE ou DELETE) não poderá exceder 1.024 bytes.
  • Se houver muitas regras de controle de simultaneidade, o desempenho das instruções SELECT, UPDATE, DELETE e INSERT se deteriorará.
  • 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.
  • Após o controle de simultaneidade ser 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).
  • Esta função controla quantas instruções podem ser executadas ao mesmo tempo. No entanto, 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 e escolha Databases > TaurusDB.
  4. Na página Instances, clique no nome da instância.
  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.

    Figura 1 Ativação do controle de simultaneidade de instruções SQL

  8. Clique em Add Rule. Na caixa de diálogo exibida, especifique SQL Type, Keyword e Max. Concurrency.

    Figura 2 Adição de uma regra de controle de simultaneidade
    • 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.