transacciones en php

Iniciado por OssoH, 13 Julio 2010, 17:59 PM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

Cita de: MinusFour en 14 Julio 2010, 13:58 PM
También encontre esto, pero dice que es para php 4 así que no se que tanto te sirva.
http://www.deepbluesky.com/blog/-/myisam-transactions_20/

mmm...realmente interesante!!.  Tomo nota!!
muchas gracias!!  :)

Shell Root

No entendí muy bien lo que hizo MinusFour. Es decir,
.. en la función do_mysql_queries, en la variable $sql(1|2|3|4) se ponen las querys que se van a ejecutar.
.. en la función undo_mysql_queries, en la variable $undoQuery(1|2|3|4), las querys para devolver los cambios efectuados?

No lo veo muy cómodo que digamos.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

OssoH

Yo tampoco lo veo cómodo porque deshacer un INSERT es costoso.

Shell Root

Simón, o tal vez se podría realizar, pero generando tablas temporales. Si pasan por todos los IF's sin errores, se volcan en las tablas originales. De lo contrario se eliminaría el contenido de la tabla temporal.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

OssoH

¿¿Tampoco lo termino de ver porque si haces tablas temporales que pasaría cuando dos personas acceden simultáneamente??

Shell Root

no pasaría nada, ya que para eso debes de tener un ID! para la identificación de los datos por cada usuario. Pero obviamente sería tedioso. Sigo con el mismo concejo que te di.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

OssoH

Yo en cambio pienso que la alternativa de minusfour puede ser buena si realmente funciona. (Todavía no la he probado).

http://www.deepbluesky.com/blog/-/myisam-transactions_20/


MazarD

innodb se creó precisamente para esto, cualquier apaño que metas mediante código no será ni la mitad de fiable y eficiente.
Además no veo que problema puede darte el cambio, algunas consultas puede que sean ligeramente más lentas para tablas del orden del millón de registros pero en esos casos hay otras soluciones que no implican usar un engine antiguo.

En fin, suerte.
-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net