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.