sql >> Base de Datos >  >> RDS >> Mysql

Consulta lenta de MySQL con unión a pesar de que EXPLAIN muestra un buen plan

No soy un experto en esta área, pero he aquí algunas ideas:

La velocidad de consulta tarda más cuando g.F2 los cambios se deben al almacenamiento en caché. MySQL guardará los resultados de cada consulta (hasta que la memoria caché esté llena), pero las nuevas consultas se ejecutan en una memoria caché vacía, por lo que tardan más. No debe optimizar en base a esto. (Ver Cómo medir con precisión )

No puedo decir a partir de su información si el g o gp la tabla tiene una mayor especificidad (parece que gp ?) en el where cláusula, pero es posible que desee probar una subconsulta en su lugar. (Ver Cómo forzar que la consulta interna se ejecute primero )

Con respecto a la creación de perfiles, es posible que esté alcanzando un umbral físico como exceder la asignación de RAM (usar el intercambio es desastroso para el rendimiento) que no sería obvio a partir de explain , o si explain simplemente está mal en este caso.