mysql 第三讲事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事 务支持是在引擎层实现的。MySQL是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如MySQL原生的MyISAM引擎就不支持事务,这也是MyISAM被InnoDB取代 的重要原因之一。ACID原子性、一 致性、隔离性、持久性。隔离性为了解决脏读,幻读,不可重复读。脏读:原本的数据比较干净、纯粹,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-31 13:40:00
                            
                                46阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. Read UnCommitted(读未提交)最低的隔离级别。一个事务可以读取另一个事务并未提交的更新结果。2. Read Committed(读提交)大部分数据库采用的默认隔离级别。一个事务的更新操作结果只有在该事务提交之后,另一个事务才可以的读取到同一笔数据更新后的结果。3. Repeatable Read(重复读)mysql的默认级别。整个事务过程中,对同一笔数据的读取结果是相同的,不管            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-27 19:52:20
                            
                                96阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、脏读、幻读和不可重复读1、脏读:脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。 例如: 张三的工资为5000,事务A中把他的工资改为8000,但事务A尚未提交。 与此同时, 事务B正在读取张三的工资,读取到张三的工资为8000。 随后, 事务A发生异常,而回滚了事务。张三的工资又回滚为5000。 最            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-25 07:22:30
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              目录脏读(Dirty Read)不可重复读幻读幻读和不可重复读的区别不可重复读幻读 脏读(Dirty Read)脏读是指当一个事务A正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务B也访问这个数据,并使用了这个数据。结果事务A进行了事务回滚,那么事务B读取的数据就是脏读。    张三的工资为5000,事务A进行了update操作把他的工资改为80            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-22 18:50:55
                            
                                46阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL 设置允许脏读
在MySQL数据库中,脏读指的是一个事务读取到了另一个事务未提交的数据。默认情况下,MySQL是禁止脏读的,即一个事务只能读取到另一个事务已经提交的数据。但是在某些特定情况下,我们希望允许脏读,这时就需要设置相应的参数。
## 如何设置允许脏读
在MySQL中,可以通过设置事务隔离级别来允许脏读。事务隔离级别分为四个等级:READ UNCOMMITTED, RE            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-12 06:42:41
                            
                                1505阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            锁的目的  解决多事务并发时造成的问题:脏读、不可重复读、幻读。脏读:事务A读取了事务B尚未提交的修改删除操作,然后B事务由于某种原因回滚,则A读到的数据并不存在,为脏数据。不可重复读:A多次读取某个数据,中间B对数据进行修改,导致读取的结果不一致。幻读:A多次读取某个条件的数据,中间B插入了一些数据,导致读取的结果数量不一致。  通过锁机制可以实现事务的隔离,从而解决并发时的问题,隔离级别有4种            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 10:09:56
                            
                                45阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            spring(数据库)事务隔离级别分为四种(级别递减):1、Serializable (串行化):最严格的级别,事务串行执行,资源消耗最大;2、REPEATABLE READ(重复读) :保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。3、READ COMMITTED (提交读):大多数主流数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-02 14:57:37
                            
                                71阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 脏读  所谓的脏读就是指一个事务读取了另一个事务未提取的数据。试想一下:a账户要给b账户100元购买商品,如果a账户开启一个事务,执行下面的update语句做了如下转账的工作:  update account set money=money-100 where name='a';
update account set money=money+100 where name='b';  如果a账            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-02 19:52:09
                            
                                93阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Mysql的隔离级别  Mysql的默认隔离级别为:Repeatable read  Oracle的默认隔离级别为:Read committed Mysql有四大隔离级别    1.Read uncommitted 读未提交内容    2.Read committed 读提交内容    3.Repeatable Read 可重读    4.Serializable 序列化(可串            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-17 19:43:53
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            隔离级别:多线程并发读取数据时的正确性connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED)事务并发产生的问题:        脏读:一个事务读取到了另外一个事务没有提交的数据                   
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-07 11:12:10
                            
                                49阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            之前有过一次面试,关于MySQL索引的原理及使用被面试官怼的体无完肤,立志要总结一番,然后一直没有时间(其实是懒……),准备好了吗?       索引是什么?数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,它可以对数据库表中一列或多列的值进行排序,以协助更加快速的访问数据库表中特定的数据。通俗的说,我们可以把数据库索引比做是一本书前面的目录,它能加快数据库的查询速度。为什么需要索引?            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 17:58:17
                            
                                39阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             脏读,不可重复读,幻读是由于数据库事务的隔离性导致的问题。脏读:一个事务读取到了其它未提交事务操作的记录。不可重复读:一个事务A内,首次查询到一条相同记录,然后事务B修改该条记录并提交,事务A再次执行相同查询,得到了事务B更新后的结果,事务A两次相同的查询,却得到了不同的结果,这个叫做不可重复读。是由于已提交事务B对事务A造成了影响(对于查询操作)。幻读:一个事务A内,先查询某条不存在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 13:30:29
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?答:SQL标准定义的四个隔离级别为:read uncommited,read committed,repeatable read,serializable; 不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个尚未提交事务的修改数据。2、非重复读            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-27 09:28:00
                            
                                88阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            脏读: 就是A向B 转账100块,A只填写的转账的信息,并截图发给B, 但是没有点确认转账。B 看到A 发过来的填写转账信息,说好的,但是此时查询账户的时候,还是原来的余 额,并没有收到A 的转账,因为A 只是填了转账信息,并没有递交或者是确认转账。不可重复读: 就是 A 向B 转账100块,并点了确认转账,这个信息是提交了的,那么B 在A 通知之前和之后,执行查询自己账户的这个操作是,前后的账户            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-16 16:41:46
                            
                                126阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言以下内容是作者在网上搜集和自己总结而来。一、基本概念MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个特性,简称 ACID,缺一不可。今天要说的就是隔离性。1.1 脏读脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-23 11:39:32
                            
                                154阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、数据脏读 事务a修改了某条数据,然后事务b读取了事务a修改的该条数据,然后事务a由于某些原因,事务a回滚了,这样事务b读到的数据就和回滚的数据不同了,这时事务b读取的数据就是脏数据。概况一句话就是一个事务读取了另一个事务未提交的数据。2、数据幻读 事务a按一定条件读取了该表的一些数据,然后事务b想该表插入了一些满足事务a查询条件的数据,当事务a再次以相同条件查询数据时,会发现多出来一些数据,就            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-06 00:15:47
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。 (百度百科)脏读:脏读是读到了别的事务回滚前的脏数据。比如事务B执行过程中修改了数据X,在未提交前,事务A读取了X,而事务B却回滚了,这样事务A就形            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-31 16:32:06
                            
                                162阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录MySQL 中事务的隔离1.READ UNCOMMITTED2.READ COMMITTED3.REPEATABLE READ4.SERIALIZABLE前置知识1.事务相关的常用命令2.MySQL 8 之前查询事务的隔离级别3.MySQL 8 之后查询事务的隔离级别4.查看连接的客户端详情5.查询连接客户端的数量6.设置客户端的事务隔离级别7.新建数据库和测试数据8.名称约定脏读1.脏读演示            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-05 18:43:59
                            
                                128阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## 理解MySQL脏读
在数据库管理中,“脏读”是一个非常重要的概念,我们将通过MySQL来实现一个简单的脏读示例。首先,让我们了解一下脏读的流程:
### 脏读流程
| 步骤 | 描述                                   |
|------|----------------------------------------|
| 1    | 启动一个事务,            
                
         
            
            
            
                         
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-14 11:26:24
                            
                                50阅读
                            
                                                                             
                 
                
                                
                    