浅谈数据库事务和隔离品级
MySQL隔离级别
1. Serializable (串行化):强迫事务串行施行。
可以免脏读、不成反复读、幻读的产生。
2. Repeatable read (可反复读):保障在统一个事务中屡次读取一样数据的效果是同样的
可以免脏读、不成反复读的产生。
3. Read committed (读已提交):一个事务只能读取已经提交的事务所做的修改
可以免脏读的产生。
4. Read uncommitted (读未提交):事务中的修改,即便没有提交,对其他事务也是可见的
最初级别,任何状况都没法保障。
隔离级别最高的是Serializable级别,最低的是Read uncommitted级别,级别越高,施行效率就越低。
像Serializable这样的级别,就是以锁表的方式(相似于Java多线程中的锁)使得其他的线程只能在锁外期待,所以平时选用何种隔离级别应当依据现实状况。
在MySQL数据库中默许的隔离级别为Repeatable read (可反复读)。
Oracle数据库中,只支撑 Serializable (串行化) 级别和 Read committed (读已提交) 这两种级别,其中默许的为Read committed级别。
举荐学习:MySQL教程
以上就是浅谈数据库事务和隔离品级的细致内容,更多请关注 百分百源码网 其它相干文章!