Ver Mensaje Individual
  #11  
Antiguo 20-10-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Reputación: 20
Angel Fernández Va por buen camino
Muchas gracias Luis por tu ofrecimiento, muy amable. Lo que ocurre es que la tabla es propiedad de mi cliente que, aunque aún no me ha pagado, no estoy seguro de que le gustara la idea.

Puedo explicar un poco de qué va: Dado que se recoge un dato cada minuto esto supone una cantidad inmensa de datos. Se estudiaron varias posibilidades, tomar la media cada 5 minutos, cada 10, etc. pero al final se decidió tomar todos los datos y si luego sobraban mejor que si faltaban.

He creado unos índices para luego agrupar los datos cada hora por ejemplo. La tabla tiene una columna que le llamo HORA_INT y que convierte la fecha y hora en un formato integer tal que así:

Fecha: 01/01/2008 Hora: Entre 10:00 y 10:59 --> Columna HORA_INT= 2008010110
Fecha: 01/01/2008 Hora: Entre 11:00 y 11:59 --> Columna HORA_INT= 2008010111
etc.

Esta columna tiene un índice.

Con un campo calculado obtengo un dato "Rango de tiempo" que por ejemplo, HORA_INT=2008010110 lo convertiría en "De 10:00 a 10:59"
Con un proceso similar, tengo varios índices: DIA_INT, SEMANA_INT, 5MINUTOS_INT, ETC. Así, si quiero un dato cada día por ejemplo, agrupo los datos por días obteniendo la media, el máximo y el mínimo.

Fecha Rango de Tiempo Sensor Media Máximo Mínimo
-------------------------------------------------------------
01/01/2008 De 10:00 a 10:59 01 15.00 16.00 14.00
01/01/2008 De 11:00 a 11:59 01 16.00 16.00 14.00
01/01/2008 De 12:00 a 12:59 01 17.00 16.00 14.00
01/01/2008 De 13:00 a 13:59 01 18.00 16.00 14.00

etc.


Con estos índices obtengo algo que yo entiendo como "razonablemente rápido". Una consulta en un rango de fechas de 3 meses, para 31 sensores, agrupados por hora, tarda algo menos de 2 minutos y devuelve 40.000 registros con los que elaboro un gráfico. Mi ordenador es un amd a 3000, mononúcleo con 2,5 GB de ram con win xp sp2.

Para elaborar el gráfico me iría bien saber qué sensores no tienen ningún dato en el rango de fechas de la consulta.

En fín, espero haberme expresado bien.

Un saludo.
Responder Con Cita