最近在学习MySQL的隔离级别问题,网上的大部分说法都是:读未提交级别下不加任何锁,然而又有资料指出:MySQL在四种隔离级别下都能防止丢失更新,这两种说法看起来互相矛盾,所以我实际测试并得出了结论:MySQL在读未提交隔离级别下的写操作是加了排它锁的,具体步骤如下:
一、建立数据,本次要用到的仅为一条数据。

二、编写好两个事务,设定隔离级别为读未提交,关闭事务的自动提交。

三、事务一率先开启,试图将id为1的name字段更新为test1,注意由于设置好了关闭事务的自动提交,这里事务是尚未提交的状态。

四、我们现在来查询一下对应id的name字段试一下,可以看到确实能读到未提交的数据,毕竟隔离级别是读未提交


五、最关键的一步来了,开启事务2,同样尝试更改相同id的name字段


执行结果如下,可以看到,该更新等待另一个事务的排它锁释放直到超时,这说明了读未提交级别下的写操作是加了排它锁的。

以上是我验证读未提交级别下MySQL的加锁,如有错误之处请指正!

MySQL读未提交级别究竟是否加锁相关推荐

  1. mysql 读未提交数据_mysql事务之未提交读(Read uncommitted)

    1,Read uncommitted定义: wiki上的定义如下: 未提交读(READ UNCOMMITTED)是最低的隔离级别.允许脏读(dirty reads),事务可以看到其他事务"尚 ...

  2. mysql 读取未提交(脏读问题)与读取已提交(不可重复读问题)

    读取未提交 - 脏读问题 MySQL 事务隔离其实是依靠锁来实现的,加锁自然会带来性能的损失.而读未提交隔离级别是不加锁的,所以它的性能是最好的,没有加锁.解锁带来的性能开销.但有利就有弊,这基本上就 ...

  3. MySQL事务隔离级别:可重复读、读已提交、读未提交。实操

    MySQL的事务隔离级别: 目录 一.可重复读(默认) REPEATABLE-READ: 二.读已提交  READ-COMMITTED: 一.可重复读(默认) REPEATABLE-READ: 准备实 ...

  4. 事务隔离级别——READ-UNCOMMITTED(读未提交)

    首先,我们先设置MySQL事务隔离级别为READ-UNCOMMITTED 在my.ini配置文件最后加上如下配置 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, RE ...

  5. 数据库基础知识点-事务隔离级别区分(读未提交、读已提交和可重复读)

    事务隔离级别 数据库事务隔离级别分4个: 读未提交-Read uncommitted 读已提交-Read committed 可重复读-Repeatable read–MySQL 序列化-Serial ...

  6. 看完这篇文章,让你彻底理解事务隔离级别(读未提交、读已提交、可重复读、序列化)

    对于不同的事务,采用不同的隔离级别分别有不同的现象.主要有下面3种: 1.脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据. 2.不可重复读(nonrepeatable re ...

  7. Mysql学习笔记之事务详解(读未提交、读以提交、可重复读、串行化读)

    文章目录 1.事务概述 2.事务特性 3.事务隔离级别 4.演示事务 4.1.演示读未提交 4.2.演示读已提交 4.3.演示可重复读 4.4.演示串行化读 1.事务概述 什么是事务? 一个事务是一个 ...

  8. PostgreSQL事物隔离级别之读未提交

    读未提交 一个事务在执行过程中可以看到其他并发事务未提交的新增数据,或者并发事务未提交的修改数据.脏读就有可能发生在该隔离级别的事务中.脏读是一个事务读取到了并发事务未提交的数据.譬如:事务A读取的并 ...

  9. 解决MySQL事务未提交导致死锁报错 避免死锁的方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/xuheng8600/article/d ...

最新文章

  1. 定义自己的rm command
  2. mysql和html的联系_前台与PHP与Mysql三者的联系
  3. vim查找/替换字符串
  4. Codeforces Educational 38 C. Constructing Tests ( 数学公式推导+暴力)
  5. qt show widget_Qt中show()与exec()
  6. 安卓开源项目周报0104
  7. (python3.8)pygraphviz的下载安装配置(在python下)最新
  8. notepad文件太大打不开怎么办_U盘数据如何恢复?U盘打不开怎么办?
  9. openvswitch安装与使用
  10. Angular 快速入门
  11. 在没有QQ、微信时局域网共享文件方法
  12. 系统架构师论文-论混合软件架构设计
  13. python产生一个1到10的列表_python-列表生成式(一)
  14. 【招聘】上海微创医疗机器人集团 - 软件工程师/图像算法工程师
  15. 个人博客配置SSL安全文件
  16. 【生成密钥免密登陆服务器】
  17. 像计算机科学家一样思考在线,如何像计算机科学家一样思考?(女生篇)
  18. 客厅智能化(5、6)
  19. Qt5 编译错误找不到头文件的解决方法
  20. Java面向过程实现员工管理系统(利用集合存储数据实现员工增删改查排序)

热门文章

  1. python统计模拟:狙击手问题
  2. 【Linux】Linux下使用wget 命令下载JDK7的方法
  3. leetcode中等之1949.坚定的友谊
  4. EDAS助力「人人视频」新业务快速稳健上云
  5. HTTP协议由哪些部分组成?
  6. 织梦站内选择文件夹和图片文件排序后台模板管理按名称排序
  7. 关于Word,PDF,PPT,TXT之间的转换
  8. 比GDB方便n倍的调试工具——CGDB
  9. word格式转html自动编号,word文档中标题样式及自动编号操作方法
  10. 掌上医院HTML模板,易就医(掌上医院服务)app