Junior — Middle
Kui palju operatsioone on lubatud teha ühes tehingus?
sobes.tech AI
Vastus AI-lt
Go (Golang) keeles ei ole ühe tehingu sees tehtavate operatsioonide maksimaalne arv piiratud keele enda või standardteegiga. Piirangud sõltuvad kasutatavast andmebaasist ja draiverist. Näiteks SQL-tehingutes võib teha palju operatsioone, kuni ressursid ei ole ammendunud või andmebaasi limiit ei ole ületatud.
Oluline on meeles pidada, et liiga pikad tehingud võivad põhjustada lukke ja jõudluse langust. Seetõttu on soovitatav hoida tehingud lühikesed ja loogiliselt seotud.
Näide tehingu kasutamisest Go keeles andmebaasiga:
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)
}
Siin saate lisada mistahes arvu operatsioone, tingimusel, et need on loogiliselt seotud ja ei ületa andmebaasi piiranguid.