在日常开发工作中,经常与数据库打交道,但对数据库的事务级别不是特别清楚。查询了百度、google和其他网友的资料后,整理如下,用于备忘。
数据库连接池的默认事务级别主要分为:
- READ-UNCOMMITTED
未提交读,但这种事务级别会出现脏读、不可重复读、幻读 ( 隔离级别最低,但并发性能高 ) 。
- READ-COMMITTED
提交读,但这种事务级别会出现不可重复读、幻读问题(锁定正在读取的行)。
- REPEATABLE-READ
可重复读,但是会出幻读(锁定所读取的所有行)。
- SERIALIZABLE
序列化,能够提供最大程度的事务隔离,保证以上所有情况不会发生。
- NONE
数据库连接池无事务级别。