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

Optimización GROUP y ORDER by

Estas en el tema de Optimización GROUP y ORDER by en el foro de Bases de Datos General en Foros del Web. Hola a todos! Tengo una consulta que hace una busqueda en una tabla on 1300 millones de registros y como podrán imaginar los resultados demoran ...
  #1 (permalink)  
Antiguo 07/06/2013, 12:52
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 7 meses
Puntos: 336
Optimización GROUP y ORDER by

Hola a todos!

Tengo una consulta que hace una busqueda en una tabla on 1300 millones de registros y como podrán imaginar los resultados demoran mucho en salir...

Se elmacenan temperaturas de un motor que han ocurrido desde el 2010 con su fecha y hora en un timestamp, y hay algunos registros que se han ingresado al mismo tiempo y por lo tanto tienen la misma temperatura, por ejemplo

11/11/2011 11:11:11 - Temperatura 28.598ºC
11/11/2011 11:11:13 - Temperatura 29.245ºC
11/11/2011 11:11:22 - Temperatura 25.487ºC
11/11/2011 11:11:16 - Temperatura 33.759ºC
11/11/2011 11:11:16 - Temperatura 33.759ºC
11/11/2011 11:11:16 - Temperatura 33.759ºC

11/11/2011 11:11:19 - Temperatura 34.142ºC

como verán los 3 registros en negrita son exactamente iguales, además el registro en rojo está desordenado.

ENTONCES, para ordenarlos hago un "ORDER BY timestamp", lo cual hace más lenta mi consulta en unos 15 segundos

Para que no salgan repetidos hago "GROUP BY timestamp", lo que hace mi consulta unos 9 segundos más lenta.

Sin embargo el problema esta cuando hago ambas cosas, o sea "GROUP BY timestamp ORDER BY timestamp", donde el tiempo supera los 30 segundos.

Que me recomiendan?
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: group, group-by, mysql, order, order-by
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 01:06.