Ver Mensaje Individual
  #10 (permalink)  
Antiguo 25/07/2013, 10:54
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Hacer un procedimiento almacenado

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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)