Cita: pero sigue demorando lo mismo en mostrar los resultados.
La idea del EXPLAIN era ver por donde falla la cosa, no que tardara mas o menos.
Cita: ID | SELECT_TYPE | TABLE | TYPE | POSSIBLE_KEYS |KEY|KEY_LEN| REF | ROWS | EXTRA
1 | SIMPLE | data | ALL | DAT_FECHA, DAT_ALI_ID|null|null |null |24795 |Using Where
De esto se puede saber algunas cosas:
1) Está leyendo primero la tabla DATA, pero la está leyendo completa... lo cual es un espanto.
2) Se podría mejorar un poco la consulta si se crea un índice sobre (DAT_FECHA, DAT_ALI) al mismo tiempo (ambas en un mismo INDEX).
3) Sólo hay 24.795 registros... lo que me indica que
el problema no es la consulta, por más ineficiente que sea.
Entonces veo que me dices:
Cita: ejecute la consulta a través de este programa y la consulta ahí demora 0,172 Seg.
Pues, según yo lo veo, el problema no está en la base, en la tabla o en la consulta. Tu servidor del host tiene un cogote muy, pero muy fino, porque se está ahogando con muy poco.
En otras palabras, es un problema de red o de servidor, y no de base de datos. Puede estar configurado con un buffer de consultas muy reducido, o haber demasiada concurrencia de usuarios, si es compartido. En cualquier caso, no es la consulta.