Ich weiß, dass Datenbanktransaktionen verwendet werden, um sicherzustellen, dass alle Anweisungen in der Transaktion ausgeführt werden oder dass keine von ihnen ausgeführt wird.
Aber wie sieht es mit dem Sperren und der Threadsicherheit aus? Wenn ich zum Beispiel eine Sproc habe, die mehrere Tabellen betrifft, und ich in dieser Sproc eine Transaktion verwende, und diese Sproc von verschiedenen Clients gleichzeitig aufgerufen wird, arbeiten die Transaktionen dann parallel oder werden sie in eine Warteschlange gestellt? Mit anderen Worten, ist die Verwendung einer Transaktion eine Garantie dafür, dass alle anderen Clients "gesperrt" werden und warten müssen, bis die Transaktion abgeschlossen ist?
Gibt es außerdem Unterschiede zwischen Datenbanktransaktionen in SQL Server und MySQL? Ich meine die Art und Weise, wie sie funktionieren.