sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor commit forårsager ikke dødvande

Jeg formoder, at dette er en kantsag, der ikke er værd at gøre mere effektiv. Bemærk, at du skulle have 3 sessioner for at prøve at få fat i den samme række - en sjælden begivenhed. Og du foretog en ROLLBACK -- også sjældent. Så den dødvande, der opstod, er overkill, men ikke værd at rette op på. Af denne grund skal man være forberedt på at håndtere dødvande overalt.

FYI, hvis dette var 3 noder i en Galera-klynge, ville der være fejl på COMMIT som koden skal håndtere. Jeg formoder, at der sker endnu flere kombinationer af mærkelige ting, hvis du anvender denne transaktion (med tilbagerulning eller commit) flere gange på flere noder.

Nu til dit spørgsmål... Formodentlig skete dødvandet ikke, fordi en af ​​trådene fik den eksklusive lås, og den anden blev ramt med et "vent" i stedet for et "dødlås".




  1. MySQL, fejl 126:Forkert nøglefil til tabel

  2. Brug float eller decimal til regnskabsapplikation dollarbeløb?

  3. Sådan udføres en .SQL-scriptfil ved hjælp af c#

  4. Brug af 'distinct' i en MySQL-forespørgsel