Sobes.tech
Junior — Middle

Care este numărul maxim de operații permise într-o singură tranzacție?

sobes.tech AI

Răspuns de la AI

În Go (Golang), numărul maxim de operații într-o singură tranzacție nu este limitat de limbajul în sine sau de biblioteca standard. Restricțiile depind de baza de date utilizată și driver-ul. De exemplu, în tranzacțiile SQL, puteți efectua multe operații atâta timp cât resursele nu sunt epuizate sau limita bazei de date nu este depășită.

Este important să rețineți că tranzacțiile prea lungi pot duce la blocări și scăderea performanței. Prin urmare, se recomandă păstrarea tranzacțiilor scurte și logic legate.

Exemplu de utilizare a unei tranzacții în Go cu o bază de date:

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)
}

Aici, puteți adăuga orice număr de operații, atâta timp cât sunt logic legate și nu depășesc limitele bazei de date.