Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta lenta do MySQL com junção, embora EXPLAIN mostre um bom plano


Eu não sou um especialista nesta área, mas aqui estão alguns pensamentos:

A velocidade da consulta demora mais quando g.F2 alterações é por causa do cache. O MySQL salvará os resultados de cada consulta (até que o cache esteja cheio), mas as novas consultas são executadas em um cache vazio, portanto, demoram mais. Você não deve otimizar com base nisso. (Veja Como medir com precisão )

Não posso dizer pelas suas informações se o g ou gp tabela tem maior especificidade (parece gp ?) no where cláusula, mas você pode tentar uma subconsulta. (Veja Como forçar a consulta interna a ser executada primeiro )

Em relação à criação de perfil, é possível que você esteja atingindo um limite físico, como exceder a alocação de ram (usar swap é desastroso para o desempenho) que não seria óbvio em explain , ou se explain está errado neste caso.