Como lidar com consultas lentas "SELECT COUNT(*)" no MySQL
Sua consulta na tabela change_event, contando as linhas que excedem um change_event_id específico , está enfrentando atrasos significativos. Mas por que? Vamos nos aprofundar nas possíveis causas.
Revelando o comportamento do InnoDB
O mecanismo InnoDB do MySQL utiliza chaves primárias agrupadas, o que significa que a chave primária é armazenada junto com os dados de linha nas páginas de dados, em vez de do que páginas de índice separadas. Como resultado, varreduras de intervalo, como a sua, exigem a varredura de todas as linhas potencialmente largas nas páginas de dados. Esse fator é agravado pela coluna xml_diff da tabela, um tipo de dados TEXT que retarda ainda mais o processamento.
Estratégias de otimização
Para acelerar a consulta, vale a pena considerar duas abordagens :
Dica adicional:
Para melhorar ainda mais o desempenho, considere alterar a coluna change_event_id para bigint unsigned. Esta etapa evita valores negativos e também pode agilizar o processamento.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3