Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2012, 08:36
jokings80
 
Fecha de Ingreso: abril-2007
Mensajes: 51
Antigüedad: 17 años
Puntos: 1
Rendimiento de una consulta

Hola,

Tengo una página PHP donde se crea una tabla que representa un calendario (cada celda es un día). Y lo que necesito es que en cada celda se muestren las ventas que se hicieron ese día (hasta un máximo de dos registros).

Mi duda es, qué es mejor y, sobre todo, más rápido de entre estas dos opciones. Si se os ocurre alguna, sin duda será bienvenida.

1.- Hacer 30 consultas (28 o 31 depende del mes) a la base de datos donde se recuperen las ventas de ese día. Cuando se crea la celda de la tabla, se hace la consulta y se recuperan los datos de la/s ventas que habría que mostrar para el día que representa esa celda (como mucho dos).

2.- Hacer una única consulta donde se recuperan las ventas de todo el mes y después procesar los datos de la consulta guardándolos en vectores para tratarlos al crear la tabla del calendario. Es decir, por ejemplo tener 2 vectores de 30 (28 o 31) posiciones, una por día y guardar en un vector el código de la primera venta en la posición X para el día X y en otro el código de la segunda venta en la posición X para el día X. La posición del vector representaría el día. Con esto nos ahorraríamos las 30 consultas a la base de datos.

La base de datos tendría entre 500.000 y 1.000.000 de registros, por ello que me preocupa mucho el tema del rendimiento.

La primera opción parece más "limpia", pero las 30 consultas cada vez que se cargue la página me hacen dudar mucho de la rapidez de esa opción.

¿Qué os parece?

Gracias por la ayuda!!