数据库事物是指单个逻辑工作单元的一系列操作,要么完全执行,要么完全不执行。事物隔离保证了在并发操作过程中互相
干扰,同时,事物提供了从错误中恢复的方法。
事物有四个特性:原子性、一致性、隔离性、持久性。
脏读:指一个事物A读取到另一个事物B尚未提交的数据。若事物B回退,则A读取了无效数据。
幻读:事物A查询记录后,事物B插入或删除了记录,事物A再次查询,发现两次查询结果不一致。
不可重复读:事物A查询了一条记录后,事物B将此记录修改了,事物A无法再次读取上一次读取的记录。
数据库事物的四个隔离级别:Read uncommitted、Read Committed、Repeatable Read、serializable。
四个隔离级别可以解决的问题如下表:
√: 可能出现 ×: 不会出现
脏读 不可重复读 幻读
Read uncommitted √ √ √
Read committed × √ √
Repeatable read × × √
Serializable × × ×