Junior — Middle
Jaký je maximální počet operací povolených v rámci jedné transakce?
sobes.tech AI
Odpověď od AI
V jazyce Go (Golang) není maximální počet operací v jedné transakci omezen sám jazyk nebo standardní knihovna. Omezení závisí na používané databázi a ovladači. Například v SQL transakcích lze provádět mnoho operací, dokud nejsou vyčerpány zdroje nebo není překročen limit databáze.
Je důležité si uvědomit, že příliš dlouhé transakce mohou vést k blokování a snížení výkonu. Proto se doporučuje udržovat transakce krátké a logicky propojené.
Příklad použití transakce v Go s databází:
trx, err := db.Begin()
if err != nil {
log.Fatal(err)
}
_, err = trx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
trx.Rollback()
log.Fatal(err)
}
_, err = trx.Exec("UPDATE accounts SET balance = balance - ? WHERE user_id = ?", 100, 1)
if err != nil {
trx.Rollback()
log.Fatal(err)
}
err = trx.Commit()
if err != nil {
log.Fatal(err)
}
Zde lze přidat libovolný počet operací, pokud jsou logicky propojené a nepřekračují omezení databáze.