事务

一:什么是事务?

  数据库事务是指作为单个逻辑工作单元执行的一系列操作,要么完全的执行,要么完全的不执行。

  简单的说:事务就是将一堆sql操作(增删改查)绑在一起,要么都执行成功,要么都执行失败,不能一半成功一半失败。否则就回滚。

二:事务的四大特性?(ACID)

  原子性:事务中所有操作都是不可分割的最小单位,要么全部执行成功,要么全部失败。

  一致性:事务执行后,数据库状态和其他业务规则保持一致。即转账:过程中金额总和不变

  隔离性:在并发操作中,事务之间不相互干扰。即事务中不会查看到中间状态的数据。

  永久性:事务提交后持久化到数据库中。即使提交数据后,数据库马上崩溃,也能通过某种机制恢复。

三:事务并发读问题?

  脏读:读取了未提交的数据。

  不可重复读:对同一记录的两次读取不一致,是因为另一事务进行了修改(是针对修改操作)。

  幻读:对同一张表的两次查询不一致,是因为另一个事务进行了插入操作(是针对插入或删除操作)。

  mysql默认不允许出现脏读和不可重复读

四:事务隔离级别?

  分四个等级:1.未提交读  2.已提交读(oracle默认)  3.可重复读(MySQL默认)  4.串行化

posted @ 2020-04-25 22:57  离仔玩偶  阅读(105)  评论(0)    收藏  举报