我已经阅读了文档,似乎SQL BATCH命令和事务完成了相同的目的,即将所有语句作为全有或全无的事务提交。
这是正确的,还是我错过了什么?
我通过PhpOrient语言绑定使用Orient,并且看到它支持事务和批处理,但我只使用SQL并且只想使用SQL执行事务。我的测试似乎相同,但我想证实。
答案 0 :(得分:6)
SQL Batch
a)SQL Batch就是一组需要执行但无法保证成功或失败的命令。
b)批处理意味着将事物放入队列中,如果达到项目,或者经过一定时期,则处理一定数量的事物。你可以在这里做撤消/回滚。
在BATCH PROCESSING中,银行只会将xyz的请求排入存款金额。银行只会将您的请求与所有其他请求一起排队,并在当天结束或达到一定金额时处理它们。
SQL事务
a)SQL事务是一系列保证完全成功或失败的命令。交易不能完成一半命令,然后在其余命令失败,如果一个命令失败,它们都会失败。
b)交易就像实时处理一样,允许您回滚/撤消更改。
在TRANSACTIONS中,它就像批处理一样,但您可以选择“取消”它。
答案 1 :(得分:0)
交易
事务是可以提交或回滚的原子工作单元。当事务对数据库进行多次更改时,要么在提交事务时所有更改都成功,要么在事务回滚时撤消所有更改。
由InnoDB实现的数据库事务具有由首字母缩写词ACID统称为原子性,一致性,隔离性和持久性的属性。