Estaba leyendo this post en el blog de rendimiento MySQL.Optimización InnoDB: "usar transacciones al hacer actualizaciones", ¿por qué?
Bajo aplicación tuning que dice:
primer lugar asegúrese de que está utilizando transacciones al hacer actualizaciones
actualmente estoy usando sólo las transacciones en lugares donde hay múltiples inserciones o actualizaciones en el Mismo tiempo. es decir, más de una mesa.
¿Debo modificar cada UPDATE
para convertirlo en una transacción?
¿Cuál es la diferencia entre:
prepare sql
bind params
commit
y:
begin transaction
prepare sql
bind params
execute statement
commit transaction
en términos de lo que sucede a nivel de base de datos, que hace que uno más rápido que el otro?
+1. Análisis más técnico: hay un búfer que retrasa la escritura en el registro (innodb_log_buffer_size) que debe enjuagarse más frecuentemente si se compromete todo el tiempo, lo que lleva a un peor rendimiento. El búfer también se vacía automáticamente cada 1 segundo. –