作者:Tong-david | 来源:互联网 | 2020-09-05 11:42
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教程
以上就是浅谈数据库事务和隔离等级的详细内容,更多请关注 第一PHP社区 其它相关文章!