在orientdb中sql批处理和事务有什么区别?

时间:2015-07-28 15:07:04

标签: sql tsql transactions orientdb

我已经阅读了文档,似乎SQL BATCH命令和事务完成了相同的目的,即将所有语句作为全有或全无的事务提交。

这是正确的,还是我错过了什么?

我通过PhpOrient语言绑定使用Orient,并且看到它支持事务和批处理,但我只使用SQL并且只想使用SQL执行事务。我的测试似乎相同,但我想证实。

2 个答案:

答案 0 :(得分:6)

SQL Batch

a)SQL Batch就是一组需要执行但无法保证成功或失败的命令。

b)批处理意味着将事物放入队列中,如果达到项目,或者经过一定时期,则处理一定数量的事物。你可以在这里做撤消/回滚。

在BATCH PROCESSING中,银行只会将xyz的请求排入存款金额。银行只会将您的请求与所有其他请求一起排队,并在当天结束或达到一定金额时处理它们。

SQL事务

a)SQL事务是一系列保证完全成功或失败的命令。交易不能完成一半命令,然后在其余命令失败,如果一个命令失败,它们都会失败。

b)交易就像实时​​处理一样,允许您回滚/撤消更改。

在TRANSACTIONS中,它就像批处理一样,但您可以选择“取消”它。

答案 1 :(得分:0)

  

交易
  事务是可以提交或回滚的原子工作单元。当事务对数据库进行多次更改时,要么在提交事务时所有更改都成功,要么在事务回滚时撤消所有更改。
  由InnoDB实现的数据库事务具有由首字母缩写词ACID统称为原子性,一致性,隔离性和持久性的属性。

Mysql Manual