日期:2014-05-17  浏览次数:20710 次

事物回滚和不提交有和区别?
用事物操作数据库,如果我不提交和rollback有什么区别?对内存有影响吗?

------解决方案--------------------
之所以要回滚,就是防止提交过程中出现dao访问异常,回滚是对于数据库层面而言的。

但是不提交,压根就不可能与数据库打交道。
------解决方案--------------------
不提交根本就是没有进行任何的操作,而回滚是因为在事物提交的过程中遇到了一些问题,取消刚才进行的操作,这区别是相当的明显的,lz不知道是不是真的不明白啊
------解决方案--------------------
不提交根本就是没有进行任何的操作,而回滚是因为在事物提交的过程中遇到了一些问题,取消刚才进行的操作。
回滚以前可能进行过一些数据库插入删除更新,一回滚就回到从前,不提交就根本没有进行插入删除更新。
------解决方案--------------------
在同一事务条件下,回滚和不提交,表现是一样的
但是还有些差别

事务处理,是将操作事件交给数据库(模拟)运行,直到commit操作,才使得修改实际产生效果,你可以看做是未提交事务都是处于一个临时库中进行
回滚是对于同一个事务,如果产生了错误,那么取消这个临时库中的操作,不对实际数据产生影响

最主要的区别在于,如果不回滚,这些临时操作会持续到这个个connection结束为止,也就是虽然你看不到,但是临时库的操作依然存在,而回滚是即时生效,其实都是回滚了,只是时间点的不一样