Originalmente publicado esto como una pregunta, pero Eric Wood ayudó a resolverlo en el correo electrónico, por lo que he añadido la solución a continuación. El tiempo mínimo de MySQL con InnoDB lleva hacer una actualización en una 3GHz Core 2 Duo runing de 64 bits de Ubuntu 10.10 es de alrededor de 0,06 segundos, aunque me pregunto si la velocidad del disco duro podría ser el factor de activación periódica? Mi tiempo medio de uso de Hibernate es de 0,15 segundos. Creo JDBC se acercaría a 0,06 segundos. Esto se hizo utilizando el cliente de línea de comandos mysql. Cualquier idea sería apreciada. También los tiempos vs otras bases de datos si tiene un sentido.
mysql> CREATE TABLE `test` (
-> bigint `id` (20) unsigned NOT NULL AUTO_INCREMENT,
-> `last_click_date` DEFAULT NULL datetime,
-> `is_active` bit (1) b'0 DEFECTO NO NULL 'comment' True si el usuario todavía se ha autentificado ',
-> PRIMARY KEY (`id`),
- > id `(` id `)
->) ENGINE = InnoDB;
Query OK, 0 filas afectadas (0,21 seg)
mysql> insert into prueba (last_click_date, is_active) valores ('2011-03-07 14:18:16 ', B'1');
Query OK, 1 fila afectada (0,11 seg)
mysql> ; insertar en la prueba (last_click_date, is_active) valores ('2011-03-07 14:18:16 ', B'1');
Query OK, 1 fila afectada (0,11 seg)
mysql> insert into prueba (last_click_date, is_active) valores ('2011-03-07 14:18:16 ', B'1');
Query OK, 1 fila afectada (0,06 seg)
mysql> Prueba de actualización establece last_click_date = '2011-03-07 14:18:16 'donde id = 1;
Query OK, 0 filas afectadas (0,07 seg)
filas coincidentes: 1 Changed: 0 Warnings: 0
mysql> Prueba de actualización establece last_click_date = ahora () donde id = 1;
Query OK, 1 fila afectada (0,06 seg)
filas coincidentes : 1 Changed: 1 Warnings: 0
mysql> Set de prueba de actualización is_active = b'0 'donde id = 1;
Query OK, 1 fila afectada (0,07 seg)
Filas encontrados: 1 Changed: 1 Warnings: 0 />
mysql> set de prueba de actualización is_active = b'0 'donde id = 1;
Query OK, 0 filas afectadas (0,02 seg)
Filas encontrados: 1 Changed: 0 Warnings: 0 />
mysql> set de prueba de actualización is_active = b'0 'donde id = 1;
Query OK, 0 filas afectadas (0,10 seg)
filas coincidentes: 1 Changed: 0 Warnings: 0
mysql> Prueba de actualización establece last_click_date = 20110307141816 donde id = 1;
Query OK, 0 filas afectadas (0,06 seg)
Filas encontrados: 1 Changed: 0 Warnings: 0
Resulta que si cambio de la tabla para utilizar el motor MyISAM, todos los cambios toman 0.00 segundos.