MySQL与Oracle的隔离级别
程序员文章站
2022-07-04 23:44:08
一、事务和隔离级别 事务的概念:事务是把对数据库的一系列操作都看做一个整体,要么全部成功,要么全部失败,利用事务我们可以保证数据库的完整性,事务具有原子性。 隔离级别:隔离级别定义了事务与事务之间的隔离距离。 脏读(dirty read):当一个事务读取另一个事务未提交的修改时,产生脏读。 不可重复 ......
一、事务和隔离级别
事务的概念:事务是把对数据库的一系列操作都看做一个整体,要么全部成功,要么全部失败,利用事务我们可以保证数据库的完整性,事务具有原子性。
隔离级别:隔离级别定义了事务与事务之间的隔离距离。
脏读(dirty read):当一个事务读取另一个事务未提交的修改时,产生脏读。
不可重复读(nonrepeated read):同一查询在同一事务中多次进行,由于其他事务提交所做的修改或删除,导致每次返回的结果不同,此时发生不可重复读。
幻读(phantom read):同一查询在同一事务中多次进行,由于其他事务提交所做的插入操作,每次发生的不同的结果集,此时发生幻读。
二、oracle的事务隔离级别有两种
- read committed :读已提交
- serializable:串行读取
oracle默认隔离级别为:读已提交(read committed)
三、mysql的事务隔离级别有四种
- 读未提交 (read uncommitted)
- 读已提交 (read committed)
- 可重复读 (repeated read)
- 可串行化 (serializable)
mysql默认隔离级别为:可重复读 (repeated read)