`

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中,事务被用于确保数据库操作的原子性、一致性、隔离性和持久性(ACID特性)。事务隔离级别主要涉及四个方面:读...

    MySQL的四种事务隔离级别

    三、MySQL事务隔离级别 MySQL通过设置不同的事务隔离级别来解决并发问题。隔离级别越高,并发性能越低,但数据一致性越好。 1. 读未提交(read-uncommitted):允许事务读取未提交的数据,不能防止脏读,是最宽松的...

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

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

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

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

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

    MySQL数据库的事务隔离级别是数据库管理系统中用于控制事务处理中并发操作的重要机制。在多用户同时访问数据库的情况下,事务隔离级别能够确保数据的一致性和完整性,避免并发操作带来的各种问题,如脏读、不可重复...

    mysql事务隔离级别1

    MySQL中的事务隔离级别是数据库管理系统确保事务之间相互独立的重要机制,它主要针对并发操作时可能出现的问题,如脏读、不可重复读和幻读等。在MySQL的InnoDB存储引擎中,有四种不同的事务隔离级别: 1. **读未...

    Mysql事务的隔离性

    ### MySQL事务的隔离性 #### 一、事务与MySQL架构 **事务**是数据库管理...通过上述理论知识和实战演练,我们可以更好地理解MySQL事务的隔离性,并根据实际应用场景选择合适的隔离级别来确保数据的一致性和完整性。

    mysql事务学习资料(PPT+源码)

    在这个"mysql事务学习资料(PPT+源码)"中,你将深入理解MySQL事务的概念、类型、特性和实际应用。 1. **事务概念**:在数据库中,事务是一系列操作的集合,这些操作要么全部成功,要么全部回滚,以保持数据的一致性...

    Mysql事务隔离级别.docx

    Mysql事务隔离级别.docx

    MySQL事务隔离级别详解.docx

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

    mysql事务处理用法与实例详解

    ### MySQL事务处理用法与实例详解 #### 一、事务的概念及重要性 在数据库管理中,事务(Transaction)是指一系列作为一个整体的操作序列。这些操作要么全部成功,要么全部失败,不能只执行其中的一部分。事务处理...

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

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

    Mysql事务以及锁原理讲解.pdf

    在深入探讨MySQL事务和锁的原理之前,我们首先需要对“事务”的概念有一个基本的理解。事务是一组操作的集合,这些操作要么全部完成,要么全部不做,确保数据库从一种一致性状态转换到另一种一致性状态,而不会留下...

    jdbc+spring+mysql事务理解和分析

    以下是对`jdbc+spring+mysql事务理解和分析`的详细说明: 1. **原子性(Atomicity)**:这是事务的基本特性,表示事务中的所有操作要么全部成功,要么全部回滚。如果在事务执行过程中发生错误,数据库会撤销所有已...

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

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

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

    MySQL 支持四种事务隔离级别:READ UNCOMMITTED(读未提交)、READ COMMITTED(读已提交)、REPEATABLE READ(可重复读)和 SERIALIZABLE(串行化)。每种隔离级别对应不同程度的事务并发问题的防范,其中,MySQL ...

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

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

Global site tag (gtag.js) - Google Analytics