共计 552 个字符,预计需要花费 2 分钟才能阅读完成。
一. 什么是事务
百度定义:数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。
本质:由一个或多个 sql 语句组成。这些 sql 语句在执行过程中被当作一个整体,要么全部的 sql 语句执行成功,要么全部失败。不存在一部分执行成功,一部分执行失败。
二. 数据库中事务的有四大特性
事务必须满足 4 个条件(ACID):
(1) 原子性(Atomic,或称不可分割性)
将事务中进行的操作捆绑成一个不可分割的单元。事务中进行的数据操作,要么全部失败,要么全部成功。
一致性(Consistency)、
事务完成时,所有数据保持一致状态。
隔离性(Isolation,又称独立性)
一个事务的执行,不被其他事务干扰。即一个事务内部的操作和并发的其他事务是互相隔离的。
持久性(Durability)
一个事务完成后,对数据库的修改时永久的。其他操作和故障都不会对其有任何影响
在实际应用中,多个用户同时操作相同的数据时,可能会产生并发问题。
1)脏读:一个事务读取了另一个事务未提交的数据。
2)不可重复读:一个事务对同一行数据读取两次,但得到的数据不同。
3)幻读 / 虚读:一个事务执行两次查询,但是第二次查询中包含了第一次查询时未出现的数据。
4)丢失更新:
三. 事务的隔离级别。
原子性,隔离性,一致性,持久性
读未提交,读已提交,可重复读,串行化
正文完