Besides being able to do multiple queries and rollback if one of them fails, are there any others?
Das ist einer von ihnen. Der größte Vorteil ist wahrscheinlich, dass Sie sicherstellen können, dass Sie die Datenbank nie in einem inkonsistent Auch ein anderer Benutzer, der zur gleichen Zeit wie Sie auf die Datenbank zugreift, wird keine inkonsistenten Daten sehen. Wenn Sie z. B. eine Bank leiten und die Kunden in der Lage sein müssen, Geld auf die Konten der anderen zu überweisen, möchten Sie nicht, dass in einem Schnappschuss der Daten Geld fehlt oder überschüssiges Geld vorhanden ist. Wenn also ein Kunde einem Freund 100 Dollar überweist, würde das im Allgemeinen so funktionieren:
- 100 $ gehen auf das Konto des ersten Kunden
- 100 Dollar gehen auf dem Konto des Freundes ein
Ohne Transaktionen könnten Sie, wenn Sie die beiden Konten zum falschen Zeitpunkt betrachten, beide Konten ohne die 100 Dollar sehen und zu dem Schluss kommen, dass Ihre Verbindlichkeiten um 100 Dollar geringer sind oder so. Mit Transaktionen sehen Sie die Konten entweder so, wie sie vor der Transaktion waren, oder so, wie sie danach waren - kein Widerspruch.
And are they slower than the normal queries?
Soweit ich weiß, haben Transaktionen keine nennenswerten Leistungseinbußen zur Folge.
4 Stimmen
Eine Tranasaktion ist ein grundlegendes Konzept für Datenbanken (und andere Systeme). Ich schlage vor, Sie lesen zuerst Wiki.... de.wikipedia.org/wiki/Datenbank_transaktion