说明

MySQL 数据库规范规定了4种隔离级别,用于解决事务并发问题(脏读、不可重复读、幻读(虚读))

级别 名字 隔离级别 脏读 不可重复读 幻读 数据库默认隔离级别
1 读未提交 read uncommitted
2 读已提交 read committed Oracle和SQL Server
3 可重复读 repeatable read MySQL
4 串行化 serializable

分析

开发中最严重的问题就是脏读,这个问题一定要避免,而关于不可重复读和虚读其实只是感官上的错误,并不是逻辑上的错误,就是数据的时效性,所以这种问题并不属于很严重的错误,如果对于数据的时效性要求不是很高的情况下,我们是可以接受不可重复读和虚读的情况发生的。

安全和性能对比

安全:串行化 > 可重复读 > 读已提交 > 读未提交
性能:串行化 < 可重复读 < 读已提交 < 读未提交