Junior — Middle
Какъв е максималният брой операции, допустими в рамките на една транзакция?
sobes.tech AI
Отговор от AI
В Go (Golang) максималният брой операции в една транзакция не е ограничен от самия език или стандартната библиотека. Ограниченията зависят от използваната база данни и драйвера. Например, в SQL транзакции може да се изпълняват множество операции, докато ресурсите не се изчерпят или не бъде превишен лимитът на базата данни.
Важно е да се помни, че прекалено дългите транзакции могат да доведат до блокировки и намаляване на производителността. Затова се препоръчва транзакциите да са кратки и логически свързани.
Пример за използване на транзакция в Go с база данни:
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)
}
Тук можете да добавите всякакъв брой операции, стига те да са логически свързани и да не превишават ограниченията на базата данни.