11
回答
如何理解数据库事务一致性
如何理解呢?能给个例子么?觉得数据库事务一致性和原子性有点类似的感觉。
<无标签>
举报
巴顿
发帖于6年前 11回/4K+阅
共有11个答案 最后回答: 5年前

引用来自“sxgkwei”的答案

额,不懂。是不是说做一个操作,里面有2个数据操作SQL,要么全成功要么全失败?
是看到有人将一致性解释为这样,原子性好像也是要么全成功要么全失败?解释下原子性看看,原子性和一致性有神马区别?
--- 共有 1 条评论 ---
sxgkwei不知道,反正事务一般都说是:事务都要有原子性。很少说“一致性”这种说法。 6年前 回复
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态,即操作数据库前数据状态一致,操作后状态一致,一次事务处理不能出现一些数据已经修改还有一部分没有修改,这是我对一致性的理解。

引用来自“xiangmao”的答案

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态,即操作数据库前数据状态一致,操作后状态一致,一次事务处理不能出现一些数据已经修改还有一部分没有修改,这是我对一致性的理解。
原子性是指事务操作对象已经没有子集了,这样保证操作的对象不会被其他对象影响。原子性着重于数据对象,而一致性着重于数据对象的状态。其实,个人觉得事务的ACID属性本来就是相关连的。

引用来自“xiangmao”的答案

引用来自“xiangmao”的答案

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态,即操作数据库前数据状态一致,操作后状态一致,一次事务处理不能出现一些数据已经修改还有一部分没有修改,这是我对一致性的理解。
原子性是指事务操作对象已经没有子集了,这样保证操作的对象不会被其他对象影响。原子性着重于数据对象,而一致性着重于数据对象的状态。其实,个人觉得事务的ACID属性本来就是相关连的。
能分别给个例子么
像银行转帐差不多,给他的帐户加了200,你的帐户必须得减少200.这样才一致!!你俩的总额没有任何变化

引用来自“wtsoftware”的答案

像银行转帐差不多,给他的帐户加了200,你的帐户必须得减少200.这样才一致!!你俩的总额没有任何变化
给个原子性的例子好么,也是银行方面的,谢谢~
--- 共有 1 条评论 ---
009请问:一致性的重点是在“他两的总额不变”吗?可不可以用高中物理的能量守恒来理解? 6年前 回复

引用来自“wtsoftware”的答案

像银行转帐差不多,给他的帐户加了200,你的帐户必须得减少200.这样才一致!!你俩的总额没有任何变化

我怎么觉得原子性也是

给他的帐户加了200,你的帐户必须得减少200

将2个步骤都是要么不执行,要么一起执行?


引用来自“巴顿”的答案

引用来自“wtsoftware”的答案

像银行转帐差不多,给他的帐户加了200,你的帐户必须得减少200.这样才一致!!你俩的总额没有任何变化

我怎么觉得原子性也是

给他的帐户加了200,你的帐户必须得减少200

将2个步骤都是要么不执行,要么一起执行?


恩,万一没有一起成功,保证自动rollback。。。还有很多。。。

一旦采用transaction,你会损失速度的(mysql的话有transaction必要,才采用innodb结构)

(原子性来自翻译atomic 就是“俗语”一致性。用平常讲话的字眼,我们怎么能吓到不会写程序的人

顶部