一、事务的并发问题 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。 3、幻读:系统管理员A将数据库中所有学生的成绩从 ...
分类:
数据库 时间:
2020-03-31 12:12:55
阅读次数:
101
瞬时态:当new一个实体对象后,这个对象处于瞬时态,即这个对象只是一个保存临时数据的内存区域,如果没有变量引用这个对象,则会被JVM的垃圾回收机制回收。这个对象所保存的数据与数据库没有任何关系,除非通过Session的save()、saveOrUpdate()、persist()、merge()方法 ...
分类:
Web程序 时间:
2020-03-28 18:11:38
阅读次数:
81
MySQL8中隔离级别的变量跟之前的版本不一样,之前是tx_isolation,MySQL8改成了transaction_isolation。查看当前隔离级别的命令是 其它参考: "MySQL 四种事务隔离级的说明" 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中 ...
分类:
数据库 时间:
2020-03-24 01:04:53
阅读次数:
83
数据库事务、事务隔离级别以及锁机制详解 转自 https://www.cnblogs.com/jieerma666/p/10805578.html 以下主要以MySQL(InnoDB引擎)数据库为讨论背景,纯属个人学习总结,不对的地方还请指出! 什么是事务? 事务是作为一个逻辑单元执行的一系列操作, ...
分类:
其他好文 时间:
2020-03-22 18:07:19
阅读次数:
69
一、事务的四大特性: 1)原子性(Atomicity):不可分割的操作单元,事务中所有操作,要么全部成功;要么撤回到执行事务之前的状态 2)一致性(Consistency): 3)隔离性(Isolation):事务操作之间彼此之间相互独立和透明互不影响。事务的独立运行,通常需要用锁来实现。一个事务处 ...
分类:
数据库 时间:
2020-03-18 11:29:22
阅读次数:
71
数据库事务四种隔离级别 1、Read Uncommitted(读未提交) :事务中的修改,即使没有提交,其他事务也可以看得到,会导致“脏读”、“幻读”和“不可重复读取”。 2、READ COMMITTED (读提交):大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并行事务已修改但未提交 ...
分类:
数据库 时间:
2020-03-18 09:43:34
阅读次数:
69
[TOC] 丢失更新 :两个事务同时更新一行数据,最后一个事务的更新会覆盖掉第一个事务的更新,从而导致第一个事务更新的数据丢失,这是由于没有加锁造成的 1 脏读 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数 ...
分类:
数据库 时间:
2020-03-17 19:25:40
阅读次数:
63
定义 在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。 用途 事务的隔离级别是为了保证并发读取数据的正确性。 我们的应用在并发处理请求时,对数据库的访问也是并发的,这样就会产生多个事务同时对数据库中某条记录进行增删改查的场景,开发者要根据具体场景采取不同的隔离级别,在系统处理效 ...
分类:
其他好文 时间:
2020-03-10 21:31:53
阅读次数:
64
出处: spring事务 1.背景 Spring提供了编程式事务和声明式事务,但由于编程性事务的侵入性,开发中普遍会使用Spring的声明式事务,下文中所说的Spring事务也都是指声明式事务。 Spring声明式事务底层是建立在AOP的基础上的,其本质就是对方法前后进行拦截,然后在目标方法之前创建 ...
分类:
编程语言 时间:
2020-03-09 18:09:39
阅读次数:
59
一.事物隔离级别 读未提交(read uncommitted)是指,一个事务还没提交时,它做的变更就能被别的事务看到.通俗理解,别人改数据的事务尚未提交,我在我的事务中也能读到。 读提交(read committed)是指,一个事务提交之后,它做的变更才会被其他事务看到。通俗理解,别人改数据的事务已 ...
分类:
数据库 时间:
2020-03-08 17:58:07
阅读次数:
96