说下数据库事务特性
总结回答
数据库的事务特性有4个:ACID,即原子性、隔离性、一致性和持久性。
数据库其实就是需要把现实的业务场景给映射成数据库的操作,但是为了让这些数据库的操作更符合现实世界的规则,需要规定在现实中的一次状态转换操作需要满足这四个特性,而满足了这四个特性中的一个或多个的数据库操作,叫做事务。
面试分析
答问题一定要答出自己对知识点的理解,而且能举例时,可以举例对知识点加以说明。上面是简答版,如果继续向下追问,可以接着详细解释。
① 首先对于
原子性
,原子性就是要么全做,要么全不做。比如转账操作,就是要么转成功要么转失败,就是一个不可分割的操作。但是对于一个不可分割的操作对应于数据库可能有若干个操作,因此就是在执行操作的过程中如果发生了错误,就把已经执行的操作恢复成执行之前的状态;
②
隔离性
,隔离性说的是其他的操作不会影响到本次操作。比如A向B转账了两次,但是在真实的情况中,如果A和B的线程是交替执行的,就可能有A和B的余额不对等的情况出现。
③
一致性
,如果数据库中的数据符合现实世界中的约束,就满足了一致性。比如银行转钱时,无论两者怎么转,两个人的余额加和是固定的。mysql一般可以通过check语法来检查约束。
④
持久性
,持久性的意思是当一个操作转换完成后,转换的结果回永久保留。比如A向B转账,当转账成功时,A和B的账户状态就都变更了。
我是王大鹏,精神抖擞,不卑不亢,
三本+双非研究生草根出身, 无名校光环, 不是大佬, 但是相信通过自己的努力可以些许弥补学历上的一些差距。目前小米大数据开发。希望在Diting这里,同大家一起分享、提高技术。

文章转载自Diting,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




