您好,您的问题是:service层定义的事务可以回滚数据库吗?答案是肯定的,service层定义的事务可以回滚数据库。事务回滚是指在一个事务中,在执行完某个 *** 作之后,可以将数据库恢复到事务开始之前的状态。在service层定义的事务中,可以使用事务回滚来保证数据库的完整性和一致性。事务回滚可以有效地防止数据库中的数据发生意外的更改,从而保证数据的安全性。
首先性能肯定受影响,因为要反向回滚 *** 作。
以sqlserver为例,如果是插入 *** 作,回滚期间锁表,而且一般级别数据库消耗时间接近1:3。如果插入进行了1小时有可能要超过3小时多来完成回滚,此时不要强行关闭数据库或者杀死进程,也为无论如何为了保持acid特性也不会中止回滚只能等。
朋友:
oracle中有两样东西是用来记录历史的
一、重做日志 REDO(作用就是当你8点做了很多事情,到10点由于数据库8点到10点 *** 作的某个文件坏了,那么8点到10点的的东西全都不见了,但是REDO还在。你就可以用REDO来做重做你8点到10点所做的事,REDO就是记录了这样的事!)
二、回滚段 UNDO (作用就是当你后悔做了某些事之后就可以回到以前,但是在人间可是没有后悔要卖的哦。如你无意删除一个表,你就可以用rollback命令来回滚,它利用的就是oracle 的撤消表空间记录的内容。当然这个表空间满了的时候也就不能回滚到它没记录的内容了。)
以上就是关于service层定义的事务可以回滚数据库吗全部的内容,包括:service层定义的事务可以回滚数据库吗、SQL数据库中事务回滚会影响性能吗、oracle数据库中数据回滚的概念等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)