Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta lenta

Estas en el tema de Consulta lenta en el foro de Mysql en Foros del Web. Hola, tengo la siguiente consulta @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT SUM ( visitast ) AS totalt , SUM ( visitasu ) AS totalu ...
  #1 (permalink)  
Antiguo 22/10/2010, 14:00
Avatar de wsoul  
Fecha de Ingreso: octubre-2010
Mensajes: 190
Antigüedad: 13 años, 6 meses
Puntos: 13
Consulta lenta

Hola,

tengo la siguiente consulta


Código MySQL:
Ver original
  1. SELECT SUM(visitast) AS totalt, SUM(visitasu) AS totalu,web FROM estadisticas WHERE fecha LIKE '%-{$fecha}-%' GROUP BY web ORDER BY totalu DESC


pero me tarda como 7 segundos en cargar y en la tabla estadísticas solo ahí 9 registros :S

seria mejor que guardar los registros día por día, hiciese otro donde pusiese ya los datos (visitas únicas y diarias) totales asi no tener que hacer esa consulta?
  #2 (permalink)  
Antiguo 22/10/2010, 16:36
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Consulta lenta

Cita:
pero me tarda como 7 segundos en cargar y en la tabla estadísticas solo ahí 9 registros :S
Que devuelva 9 registros no significa que procese 9 registros. Ten en cuenta que estás haciendo un agrupamiento con ordenamiento, ambos procesos que consumen muchísimo tiempo y recursos (son los más ineficientes de todos).
Para que te des una idea, si en una de las tablas de una de mis bases yo hiciese un agrupamiento por fechas, obtendría 300 registros... pero la tabla en este momento tiene 29,7 millones de ellos. Pero esos millones de registros sólo contienen la información diaria de este año...
En esencia, primero deberías ver cuántos registros está procesando y a partir de ello ver si se necesitan índices especiales o filtros en el WHERE de mayor seletividad.

Usa EXPLAIN para analizar este problema. Allí puede verse cómo se está realizando el JOIN.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: lenta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.