mysql的innodb存储引擎事务隔离级别

Posted 梦幻朵颜 Joyce Zhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的innodb存储引擎事务隔离级别相关的知识,希望对你有一定的参考价值。

innodb存储引擎支持数据库事务,事务有四大特性ACID:
原子性 Atomicity
一致性 Consistency
持久性 Durability
隔离性 isolation

mysql事务隔离表
  隔离级别 脏读 不可重复读 幻读
1 Read uncommitted    未提交读 可能 可能 可能
2 Read committed    已提交读 —— 可能 可能
3 Repeatable read   可重复读 —— —— ——
mysql中已基本解决幻读问题
4 Serializable      可序列化 —— —— ——

 

 

事务隔离级别:
1) Read uncommitted 未提交读。脏读。事务2读到事务1已更改但未提交的数据
2) Read committed 读已提交。可重复读。事务2要等事务1提交后才能读取数据。 同一个线程在一个事务过程中相同查询SQL,前后返回了其他线程事务提交前和提交后两种不同的值
3) Repeatable read 可重复读。读事务开启后,不再允许update操作。
Phantom reading 幻读。幻读是读取到了之前没有读取到的记录。幻读对应的问题是insert操作,而不是update操作。 对于delete操作,SQL92标准里视为幻读,但在mysql官方认为它不是幻读,认为是发生了被删除记录的不可重复读。 
4) Serializable 可序列化。 是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。

 

参考 《理解事务的4种隔离级别

 

 

 

end.

以上是关于mysql的innodb存储引擎事务隔离级别的主要内容,如果未能解决你的问题,请参考以下文章

1.5 MySQL的存储引擎

简述mysql的事务隔离级别都有哪些

Mysql引擎事务和隔离级别

搞清楚MySQL事务隔离级别

程序员面试宝典之Mysql数据库Innodb引擎的4个隔离级别

MySQL 存储引擎