数据库的隔离级别

出现数据库隔离,是因为会遇到下面三种情况:

1. 脏读: 另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据。

2. 不可重复读: 解决了脏读后,会遇到,同一个事务执行过程中,另外一个事务提交了新数据,因此本事务先后两次读到的数据结果会不一致。

3. 幻读: 解决了不重复读,保证了同一个事务里,查询的结果都是事务开始时的状态(一致性)。但是,如果另一个事务同时提交了新数据,本事务再更新时,就会“惊奇

的”发现了这些新数据,貌似之前读到的数据是“鬼影”一样的幻觉。

 

四个隔离级别:

在Mysql InnoDB 中,事务主要有四种隔离级别

  • Read uncommitted (未提交读)
  • Read committed (已提交读)
  • Repeatable read (可重复读)
  • Serializable (可串行化)

mysql数据库的默认隔离级别:可重复度 REPEATABLE-READ。 oracle数据库默认隔离级别是:读已提交 read-committed。

posted @ 2020-06-17 15:25  我喜欢旅行  阅读(140)  评论(0编辑  收藏  举报