Quote Originariamente inviata da mydb Visualizza il messaggio
ciao optime,
sicuramente quello che tu dici e' corretto.

Ma in MySQL, per gestire situazioni di accesso parallelo al db , usando tabelle InnoDB non si possono usare o meglio si sconsigliano i lock che andrebbero usati solo su MyISAM.
Per questo conoscere come le transazioni gestiscono accessi multipli e' importante
Qualche tempo fa ho chiesto aiuto sul forum, e qualche idea l'ho presa.
In sostanza le transazioni hanno vari livelli di "rigidezza": in quello massimo (serializable) le transazioni vengono svolte una dopo l'altra, come se ci fosse un LOCK prima di ogni transazione.
In questo modo sei sicuro al 100% che non appaiano righe fantasma, letture strane etc (trovi tutto quello che vuoi se cerchi ACID).

Se invece "rilassi" le transazioni, ovvero le rendi passibili di problemi vari, allora vengono eseguite in parallelo.

Insomma passi da un "tutte insieme sperando in bene" a "una dopo l'altra", tra i due estremi scegli a seconda dei casi.