码迷,mamicode.com
首页 > 数据库 > 详细

数据库事务的隔离级别

时间:2017-04-22 22:43:45      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:ted   images   不可重复读   数据   ora   默认   repeat   支持   隔离级别   

MySQL数据库为我们提供的四种隔离级别:

① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。

② Repeatable read (可重复读):可避免脏读、不可重复读的发生。

③ Read committed (读已提交):可避免脏读的发生。

④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。

 

以上四种隔离级别最高的是Serializable级别,最低的是Read uncommitted级别,当然级别越高,执行效率就越低。像Serializable这样的级别,就是以锁表的方式(类似于Java多线程中的锁)使得其他的线程只能在锁外等待,所以平时选用何种隔离级别应该根据实际情况。在MySQL数据库中默认的隔离级别为Repeatable read (可重复读)。

  在MySQL数据库中,支持上面四种隔离级别,默认的为Repeatable read (可重复读);而在Oracle数据库中,只支持Serializable (串行化)级别和Read committed (读已提交)这两种级别,其中默认的为Read committed级别。

在MySQL数据库中查看当前事务的隔离级别:

技术分享

在MySQL数据库中设置事务的隔离 级别:

技术分享

或者:

技术分享

 

数据库事务的隔离级别

标签:ted   images   不可重复读   数据   ora   默认   repeat   支持   隔离级别   

原文地址:http://www.cnblogs.com/LoganChen/p/6749329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!