sql >> Databasteknik >  >> RDS >> Mysql

Hur fungerar transaktionsavstängning i MySQL?

Det betyder inget speciellt, en avstängd transaktion är bara en transaktion som tillfälligt inte används för infogningar, uppdateringar, commit eller rollback, eftersom en ny transaktion bör skapas på grund av de angivna spridningsegenskaperna och endast en transaktion kan vara aktiv samtidigt.

I grund och botten finns det två transaktionsmodeller:den kapslade och platt modell. I den kapslade modellen, om du startar en transaktion, och du behöver en annan, förblir den första aktiv, det vill säga den andra kommer att kapslas inuti sin överordnade, och så vidare. Å andra sidan, i den platta modellen kommer den första transaktionen att avbrytas, det vill säga vi kommer inte att använda den förrän den nya har slutförts.

AFAIK den platta modellen används nästan uteslutande (inklusive Spring och EJB-specifikationen också), eftersom den är mycket lättare att implementera :det finns bara en aktiv transaktion vid varje given tidpunkt, så det är lätt att bestämma vad man ska göra vid en återställning, till exempel på grund av ett undantag. Ännu viktigare är att den underliggande databasen måste stödja den om du behöver den kapslade modellen, så den platta modellen är bara den gemensamma nämnaren i det här fallet.




  1. Kan databasposter som lagts till från objekt raderas med knappen?

  2. Oracle Forms i R12/R12.2

  3. Hur undviker man fragmentering när man använder NHibernate guid.comb primärnyckel i MySQL?

  4. Finns det en generisk lösning för att uttrycka en härledd kolumnlista i Oracle (och MySQL)?