MYSQL数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。
√: 可能出现 ×: 不会出现
|
脏读 |
不可重复读 |
幻读 |
Read uncommitted |
√ |
√ |
√ |
Read committed |
× |
√ |
√ |
Repeatable read |
× |
× |
√ |
Serializable |
× |
× |
× |
总结
Read uncommitted允许读取未提交的数据。
Read committed 只能读取已经提交的数据,但是在读取的时候别人可能正在修改数据库的信息,再次读取发现两次信息不一致
Repeatable read 只能读取已经提交的数据。自己操作数据库的时候不允许别人读和更新
Serializable 自己操作数据库的时候不允许别人任何操作
作者:传智播客JavaEE培训学院