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

Consulta SQL proximidad entre fechas

Estas en el tema de Consulta SQL proximidad entre fechas en el foro de Bases de Datos General en Foros del Web. Hola, Estoy con un proyecto donde cojo valores constantemente de varios sensores y los guardo en una tabla que tiene la siguiente forma: ID sensor_id ...
  #1 (permalink)  
Antiguo 05/07/2015, 15:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 14
Antigüedad: 13 años, 1 mes
Puntos: 0
Consulta SQL proximidad entre fechas

Hola,

Estoy con un proyecto donde cojo valores constantemente de varios sensores y los guardo en una tabla que tiene la siguiente forma:
ID sensor_id value datetime

Donde datetime, lo guardo mediante un long en forma de timestamp (Lo he intentado con dates pero siempre con una eficiencia menor).

La cosa es que necesito sacar informes mensuales con registro diario de cada uno de los sensores a una hora de referencia. Los datetime no se hacen a una hora exacta, es un worker que cuando salta guarda en ese instante, por lo tanto no puedo igualar directamente al time.

Ahora le doy una ventana de +-30 minutos a cada referencia (por si alguna lectura ha tardado MUCHO en llegar), y a continuación, por código, los recorro y me quedo con el que se acerca más de cada fecha...

Alguna idea como puedo sacar los valores directamente?? Hacer un query por día(también lo he probado), no sirve ya que es demasiado lento, hay miles de registros. Probar con hacer diferencias con el datetime también lo he probado.. lento..

Muchas gracias de antemano!!

Última edición por r_99; 05/07/2015 a las 16:48
  #2 (permalink)  
Antiguo 05/07/2015, 21:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Consulta SQL proximidad entre fechas

Tu problema no es de PHP, sino de base de datos y, como no mencionas el motor usado, muevo tu tema a Bases de Datos General, donde te podrán orientar mejor.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 08/07/2015, 12:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta SQL proximidad entre fechas

Cita:
Iniciado por r_99 Ver Mensaje
Hola,

Estoy con un proyecto donde cojo valores constantemente de varios sensores y los guardo en una tabla que tiene la siguiente forma:
ID sensor_id value datetime

Donde datetime, lo guardo mediante un long en forma de timestamp (Lo he intentado con dates pero siempre con una eficiencia menor).

La cosa es que necesito sacar informes mensuales con registro diario de cada uno de los sensores a una hora de referencia. Los datetime no se hacen a una hora exacta, es un worker que cuando salta guarda en ese instante, por lo tanto no puedo igualar directamente al time.

Ahora le doy una ventana de +-30 minutos a cada referencia (por si alguna lectura ha tardado MUCHO en llegar), y a continuación, por código, los recorro y me quedo con el que se acerca más de cada fecha...

Alguna idea como puedo sacar los valores directamente?? Hacer un query por día(también lo he probado), no sirve ya que es demasiado lento, hay miles de registros. Probar con hacer diferencias con el datetime también lo he probado.. lento..

Muchas gracias de antemano!!
Que manejador de bases de datos usas??? lento para miles de registros por favor......
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 13/07/2015, 09:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 14
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta SQL proximidad entre fechas

Hola lo siento por la demora de la respuesta, uso MySQL en una raspberrypi.. y si me va muy lenta la consulta.. pero como dije no se si la consulta es correcto o como lo puedo hacer para tener una respuesta de tipo dia-sensor-hora-valor con un distinct para cada dia..

Y ciertamente he mirado y calculado.. y son mas bien millones de registros, cada mes se incrementará 2.160.000 registros, capturando 10 sensores cada 5 minutos, maximo durante 3 meses ya que hare backups por temas de rendimiento.. Pero ahora en bbdd no tengo ni 500.000 reg i va lento. Por cierto, lento para mí son + de 3 segundos

Muchas gracias!!!
Un saludo!

Etiquetas: mysql, php
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:33.