繁体   English   中英

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

[英]What is the difference between sql batch and transaction in orientdb?

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

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

我通过PhpOrient语言绑定使用Orient,并看到它支持事务和批处理,但我只使用SQL并且只想使用SQL执行事务。 从我的测试来看似乎是一样的,但我想确认一下。

SQL批处理

a)SQL Batch只是需要执行而不保证成功或失败的命令集合。

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

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

SQL事务

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

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

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

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

Mysql手册

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM