Respuesta: Update a toda una tabla con calculos diferentes para las filas Buenas,
A ver, esto ya es algo más complejos, pero ya puestos, te comento. Como bien dices, si dos registros tienen la misma fecha es que se ingresaron el mismo día y tienen el mismo tiempo de ingreso, pero realmente el bucle que haces recorre toda la tabla, así que dicha fecha se actualizará dos veces. Por ejemplo, si tienes los registros 24 y 63 con la misma fecha, cuando el bucle llegue al 24, actualizará 24 y 63 por tener la misma fecha y, cuando llegue al 63, volverá a actualizar en 24 y el 63 de nuevo. En este caso, el resultado es el mismo, pero los recursos que utiliza la base de datos para modificar los registros no lo son. Por qué? Pues muy sencillo, las bases de datos tienen más optimizadas las búsquedas por clave primera (o campos unique). Si modificas por id, la base de datos se irá directamente al registro, hará el update y, sabiendo que es unique, no tendrá que mirar más. Sin embargo, si miras por fechas (que no es unique), tendrá que repasar cada vez toda la tabla para ver si la fecha es la que tiene que ser. Es mucho menos eficiente.
En fin, el resultado es el mismo, pero son estos detalles los que en aplicaciones de gran volumen de datos hacen que una modificación pase de tardar 2 horas a tardar unos cuantos segundos.
Un saludo.
__________________ ¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis? |