una transacciones soporta segundo rapida por optimizar mas lentas hacer cuantas consultas consulta como agilizar mysql transactions pdo data-transfer

mysql - soporta - ¿Cuándo debería usar transacciones en mis consultas?



optimizar consultas mysql explain (5)

Además de lo que escribió Nick Craver, querrá usar una transacción cuando tenga una serie de escrituras que deban realizarse atómicamente; es decir, todos deberían tener éxito o ninguno debería tener éxito.

Estoy leyendo tutoriales muy detallados sobre cómo usar transacciones con tipos de bases de datos y motores de bases de datos, pero no he encontrado una guía que me enseñe cuándo y por qué debería usarlos.

Sé que las transacciones se utilizan generalmente para la banca, por lo que cuando trabajamos con dinero, pero puedo imaginar que se usan de muchas otras maneras.

Hoy estoy trabajando en una página con varias INSERT para una base de datos relacional, y quería saber si este es uno de los casos en que debería usarlas.

Me da la impresión de que no conozco los casos en los que los datos se pueden perder parcialmente (aparte de los errores del codificador), por lo que siempre me preocupa cuándo debería usarlos.

¿Alguien puede explicar o dar algún enlace con estas reglas fundamentales?

Estoy usando MySQL 5.0.8 . ¿Debo usar InnoDB para todas las tablas que necesitan transacciones? En caso afirmativo, ¿ InnoDB es más lento que el MyISAM común, pero no debería preocuparme por eso?

Gracias



En algunos marcos, por ejemplo, Spring, las transacciones automáticas permiten volver a ejecutar una transacción si falla.


Las transacciones se deben usar cuando existe la posibilidad de que el hecho de no completar o que alguien más lea o escriba en el medio de su tarea podría dañar los datos. Estos incluyen pero no están limitados a:

  • Lectura de una tabla para su eliminación posterior
  • Escribir datos relacionados en varias tablas

Utiliza las transacciones cuando tiene un grupo de acciones que deben ser atómicas (todas tienen éxito o ninguna tiene éxito). Envolver estas acciones en una transacción le permite deshacer acciones que ya han tenido éxito cuando se encuentra con un error. También asegura que los datos con los que está trabajando son consistentes, ya que los bloqueos se mantendrán hasta que se complete la transacción.