`

mysql 事务级别

 
阅读更多
mysql 数据四种事务级别:Read Uncommitted,Read Committed,Repeatable Read,Serializable

Read Uncommitted,Read Committed 这个两个就不多做介绍了
主要说明一下Repeatable Read 这个是mysql 默认的事务级别
此事务级别的表现为,可重读:此事务内的查询,不受其他事务的影响,会坚持从本事务内查询,因此,这个事务内的同一个查询(查询的数据不经过本事务的修改),会一直是一样的
如事务A,中有一个sql select * from A where id>3,假设表A中只有id 1.2.3.5 四条数据, 如果整个表中没有对表A中id>3的数据做修改,那么本事务内无论什么地方什么时候查询这个sql都是同样的结果,结果为 5 ,如果另外一个事务B,修改了表A中id>3的数据,如插入一条数据 id = 4,那么在事务A中依然会查出结果为5,不会查出4,这就是为什么叫可重复读,其实现在表中有5条数据,但是对于事务A而已,现在依然是4条数据,引发的这种错误叫幻读;

另外可重复读的另一个特性:GAP锁
在某范围行进行更新操作时,范围内的数据,不允许有新的数据插入或者修改,当然范围内的数据也不能更新,前提是此表有主键,如果事务A在
修改 id in (2,3,6),那么在事务A提交前,其他事务不能插入id = 4或者5的数据了,此操作和主键没有关系的,但凡是在行数据字段范围内的都会出现这个限制,这个就保证了,在此事务内未完成前范围内更新的数据不会出现差异,保证了范围数据的可重读,具体操作如下
[img]

[/img]
[img]

[/img]

第二个事务会一直block 一直到超时或者第一个事务完成,这个就是GAP锁的牛逼之处了

总之,可重复读事务中,对于同一个查询,在本事务不对查询结果做有妨害的事情,查询的数据一直是一样的,就是其他事物对数据进行了修改,另外GAP锁保平安
  • 大小: 3.9 KB
  • 大小: 5.1 KB
分享到:
评论

相关推荐

    MySQL事务隔离级别详解

    MySQL事务隔离级别详解,这个面试经常会面到,必会呀,哈哈

    MySQL事务隔离级别

    NULL 博文链接:https://cuishuangjia.iteye.com/blog/964885

    06-VIP-深入理解Mysql事务隔离级别与锁机制.pdf

    深入理解Mysql事务隔离级别与锁机制 Mysql事务隔离级别与锁机制是数据库系统中非常重要的概念,它们都是为了解决多事务并发问题而设计的。下面我们将深入讲解这些机制,让大家彻底理解数据库内部的执行原理。 事务...

    MySQL的四种事务隔离级别

    MySQL的四种事务隔离级别 1、脏读 2、不可重复读 3、幻读

    MY SQL 事务隔离 查询:默认事务隔离级别

    查询:默认事务隔离级别 mysql> select @@tx_isolation;当前会话的默认事务隔离级别 mysql> select @@session.tx_isolation;当前会话的默认事务隔离级别 mysql> select @@global.tx_isolation;全局的事务隔离级别

    MySQL数据库事务隔离级别详解

    数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为 Read uncommitted:允许脏读。 Read committed: 防止脏读,最...事务级别 脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed

    Mysql事务隔离级别.docx

    Mysql事务隔离级别.docx

    MySQL事务隔离级别详解.docx

    MySQL事务隔离级别详解 事务概念是数据库并发操作的最小控制单位,它是包含了一组有序的数据库操作命令的序列。事务的特性包括原子性、一致性、隔离性和永久性。原子性是指事务包含的数据库操作命令要么都执行,...

    详解Mysql事务隔离级别与锁机制.doc

    详解Mysql事务隔离级别与锁机制 本篇文章详细介绍了Mysql事务隔离级别与锁机制的概念、原理和应用。事务隔离级别是数据库系统中的一种机制,用于解决多事务并发问题,包括脏写、不可重复读、幻读等问题。锁机制是...

    深入理解Mysql事务隔离级别与锁机制.pdf

    "深入理解Mysql事务隔离级别与锁机制" 事务隔离级别是数据库系统中的一种机制,用于解决多事务并发问题,使得事务之间的执行不受影响。这种机制可以分为四个级别:Read Uncommitted、Read Committed、Repeatable ...

    MySQL数据库:事务隔离级别.pptx

    事务隔离级别 课程目标 了解 —— 事务隔离级别的概念; 理解 —— 事务隔离的四种级别; 掌握 —— 事务隔离级别的设置; 事务隔离级别 事务隔离:每一个事务都有一个所谓的隔离级,它定义了用户彼此之间隔离和交互...

    浅析MYSQL REPEATABLE-READ隔离级别

    这种隔离级别可能导致读到的东西是已经修改过的。 比如: 回话一中读取一个字段一行a=1 在回话二里这个字段该行修改a=0,并且提交 回话一中再update这个字段a=0,会发现受影响行数是0,这样就可以根据受影响行数是0还是1...

    MySQL 事务(五).pdf

    这份PDF文档《MySQL事务(五).pdf》是关于MySQL数据库事务管理的深入指南,作为系列教程的第五部分,它详尽地介绍了事务处理的概念、原则以及在实际数据库操作中的应用。内容包括: 事务基础:解释事务的概念和...

    Mysql事务以及锁原理讲解

    本资源深入解释MySQL事务和锁的原理,涵盖了事务的基本概念、ACID特性、事务隔离级别以及MySQL中的锁类型、锁粒度等内容。通过实例和案例分析,详细讲解了事务的并发控制、隔离级别对数据一致性的影响,以及锁的使用...

    4-7深入理解Mysql事务隔离级别与锁机制.mp4

    4-7深入理解Mysql事务隔离级别与锁机制.mp4

    4-6深入理解Mysql事务隔离级别与锁机制.mp4

    4-6深入理解Mysql事务隔离级别与锁机制.mp4

    Mysql事务隔离级别原理实例解析

    主要介绍了Mysql事务隔离级别原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    mysql事务隔离级别1

    然后我们执行上图中的第3步,将事务1中的修改操作进行提交,在事务2中再次查看t1表中的数据(第4步),经过查看发现,t1表中的第2条数据对应的字符串仍然没有发生

    52 MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?l.pdf

    52 MySQL是如何支持4种事务隔离级别的?Spring事务注解是如何设置的?l.pdf

Global site tag (gtag.js) - Google Analytics