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.