Sobes.tech
Junior — Middle

Qual é o número máximo de operações permitidas numa única transação?

sobes.tech IA

Resposta da IA

No Go (Golang), o número máximo de operações numa única transação não é limitado pela própria linguagem ou pela biblioteca padrão. As restrições dependem do banco de dados utilizado e do driver. Por exemplo, em transações SQL, pode realizar muitas operações enquanto os recursos não estiverem esgotados ou o limite do banco de dados não for atingido.

É importante lembrar que transações demasiado longas podem levar a bloqueios e à redução do desempenho. Portanto, recomenda-se manter as transações curtas e logicamente relacionadas.

Exemplo de uso de uma transação em Go com uma base de dados:

tx, err := db.Begin()
if err != nil {
    log.Fatal(err)
}

_, err = tx.Exec("INSERT INTO users(name) VALUES(?)", "Alice")
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

_, err = tx.Exec("UPDATE accounts SET balance = balance - ? WHERE user_id = ?", 100, 1)
if err != nil {
    tx.Rollback()
    log.Fatal(err)
}

err = tx.Commit()
if err != nil {
    log.Fatal(err)
}

Aqui, pode adicionar qualquer número de operações, desde que estejam logicamente relacionadas e não excedam as restrições do banco de dados.