desaceleração das consultas com ordem por cláusula
usuários do banco de dados MySQL encontraram um problema de desempenho intrigante relacionado ao uso da cláusula por ordem por ordem. Quando adicionado a uma consulta complexa com várias junções e subconsências, o tempo de execução da consulta aumenta significativamente de milissegundos a segundos. Sem o pedido por cláusula, a consulta tem um desempenho ideal. No entanto, quando qualquer coluna é usada como critério de classificação, a consulta diminui por várias ordens de magnitude para cerca de 10 segundos. Por padrão, o MySQL tenta otimizar as consultas criando tabelas temporárias ou usando subconsignidades. Quando um pedido por cláusula é adicionado, o otimizador calcula mal o tamanho da tabela temporária necessária e aloca uma quantidade insuficiente de memória. Consequentemente, a consulta volta a um algoritmo de classificação menos eficiente, o que resulta na desaceleração observada. Isso permite que o otimizador estime corretamente o tamanho da tabela temporária, impedindo a desaceleração.
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