Acelerar las consultas de GROUP BY, SUM y AVG.

La tabla arg_rec contiene 800K filas en mi máquina de prueba, normalmente esta tabla mantendrá más de 15M filas. Quiero ejecutar la siguiente consulta:

SELECT STE_ID, PNT_NO, YR, MN, AVG(AVR_WS) AS AVR_WS, SUM(AVR_PW) FROM arg_rec GROUP BY STE_ID, PNT_NO, YR, MN;

Esta consulta proporciona la velocidad promedio diaria del viento y la potencia total de los datos del aerogenerador. En mi máquina de prueba, esta consulta se agota después de 10 minutos de ejecución con un índice combinado enSTE_ID, PNT_NO, YR, MN, que es solo un subconjunto de las columnas de clave primaria. Sin el índice, la consulta se completa después de varios minutos.

Estoy ejecutando prácticamente una instalación de MySQL común, además de ajustar el servidor, también me gustaría saber más sobre otras formas de manejar este problema, como:

¿Es posible crear una vista basada en esta consulta y almacenar en caché los resultados?¿Existen características de indexación más avanzadas para resumir el hecho de que YR, MN, DY, HR, MI, SC corresponden al año, mes, día, etc., campo de la marca de tiempo de registro?¿Es mejor simplemente duplicar los datos utilizando la capa empresarial de mi aplicación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta