锁是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。 我们知道,多个用户能够同时操纵同一个数据库中的数据,会发生数据不一致现象。即如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。这些问题包括:丢失更新、脏读、不可重复读和幻觉读 ...
分类:
数据库 时间:
2016-10-03 23:34:19
阅读次数:
277
脏读(Dirty Read) 脏读意味着一个事务读取了另一个事务未提交的数据,而这个数据是有可能回滚 不可重复读(Unrepeatable Read) 不可重复读意味着,在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。这是由于查询时系统中其他事务修改的提交而引起的。 例如:事务B中对某 ...
分类:
其他好文 时间:
2016-09-23 06:35:51
阅读次数:
136
1、事务Transactional下的属性 2、isolation隔离级别 隔离级别:含义DEFAULT:使用后端数据库默认的隔离级别(spring中的的选择项)READ_UNCOMMITED:允许你读取还未提交的改变了的数据。可能导致脏、幻、不可重复读。READ_COMMITTED:允许在并发事务 ...
分类:
编程语言 时间:
2016-09-20 19:54:55
阅读次数:
138
事情是这样的,ios进货单有一个数量加一手,减一手的功能,每加减一次就会异步调用后台的接口,后台判断sku如果不存在就插入,存在就更新。 问题描述: 当ios发了多次请求后, 在第二次请求的时候,第一次请求插入的sku程序里查不出来 但是数据库里能查出来 后来仔细研究了下,发现这就是所谓的不可重复读 ...
分类:
编程语言 时间:
2016-09-10 17:30:13
阅读次数:
330
数据库基础问题汇总 1.并发事务之间相互影响的类型? 脏读:一个事务读取了另一个事务尚未提交的数据。 不可重复读:同一个事物中前后两次相同的查询,结果不一样。 幻读:一个事务中多次进行相同范围的查询,结果不一样。 eg1 幻读:事务T1第一次查询select count(*) from people ...
分类:
数据库 时间:
2016-09-09 16:43:36
阅读次数:
195
转载自:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 ...
分类:
数据库 时间:
2016-09-05 13:45:11
阅读次数:
226
不可重复读(Nonrepeatable Read) 一个事务的两次读取中,读取相同的资源得到不同的值。当事务T2在事务T1的两次读取之间更新数据,则会发生此种错误(重点在修改) 幻读(Phantom): 此概念相对难理解一些。 事务T1对一定范围内执行操作,T2对相同的范围内执行不兼容的操作,这时会 ...
分类:
其他好文 时间:
2016-08-27 00:23:13
阅读次数:
258
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。 √: 可能出现 ×: 不会出现 脏读 不可重复读 幻读 Read uncomm ...
分类:
数据库 时间:
2016-08-14 22:03:14
阅读次数:
177
丢失的修改、不可重复读、读脏数据、幻影读 下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。 丢失的修改 考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,设A=16.乙售票点(乙事务)读出同一航班的机票余额A,也为16.甲售票点卖出一张机票,修改余额A←A-1 ...
分类:
其他好文 时间:
2016-08-10 14:19:58
阅读次数:
168
常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类) 丢失修改 下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。 考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,设A=16.乙售票点(乙事务)读出 ...
分类:
其他好文 时间:
2016-08-04 21:12:31
阅读次数:
125