一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现 ×: 不会出现 脏读 不 ...
分类:
数据库 时间:
2017-12-29 15:24:09
阅读次数:
162
核心知识: 1.什么是事务?一组原子性的SQL查询语句 2.事务的四种属性:ACID 3.四种隔离级别:读取未提交内容、读取提交内容、重复读、串行化。 4.什么是幻读?幻读有那些解决办法?连续读取同一数据得到不同的结果就是幻读,InnoDB通过多版本并发控制机制来解决幻读问题。 5.什么是死锁?怎样 ...
分类:
数据库 时间:
2017-12-14 19:21:58
阅读次数:
198
oracle提供了三个隔离级别: 1.读提交 ,简而言之只能读取语句开始执行前提交的数据 2.串行,这个好理解,就是事务串行运行,避免经典的三个场景-脏读、不可重复读、幻读。 3.只读,oracle已经实现的只读模式。 -- 这些都很容易理解,问题的关键是解决一些实际的问题,例如典型的汽车票销售。 ...
分类:
数据库 时间:
2017-11-29 16:25:26
阅读次数:
143
参考链接: https://www.cnblogs.com/lenther2002/p/4487123.html http://www.jianshu.com/p/d8bc0a843dd0 http://blog.csdn.net/qq_36074150/article/details/769027 ...
分类:
其他好文 时间:
2017-11-16 11:32:05
阅读次数:
132
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select for update/lock in share mode 对事务并发性影响 Mysql加锁过程详解(5 ...
分类:
数据库 时间:
2017-11-12 14:09:26
阅读次数:
237
1. 脏读 :一个事务读到另一个事务未提交的更新数据。 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个被更新后的数据。 2. 幻读 : 一个事务读到另一个事务已提交的新插入的数据。 例如第一个事务对一个表中的数 ...
分类:
数据库 时间:
2017-11-11 00:24:50
阅读次数:
215
数据库的 基本分为 共享锁和排它锁 排它锁顾名思义,不能和其他任何所共存。 以SqlServer中某一行数据为例, 特殊的,WithNoLock 这个是不给数据加上任何锁,所以根本和锁没关系 再说update,update的过程是给这条数据加上排它锁,所以当另外事物过来要求修改这条数据的时候,会由于 ...
分类:
数据库 时间:
2017-11-06 21:18:35
阅读次数:
183
数据库特性ACID A原子性 C一致性 I隔离性 D持久性 数据库的隔离级别:(脏读、不可重复读、幻读) 可以读取未提交的事物数据:A事务可以读取到B事务未提交的内容。可能引起脏读、不可重复读、幻读 读取提交的事物数据:A事务只能读取B事务提交的内容。可以避免脏读,可能引起不不可重复读、幻读 可重复 ...
分类:
数据库 时间:
2017-10-28 23:16:00
阅读次数:
208
锁是一种防止在某对象执行动作的一个进程与已在该对象上执行的其他进行相冲突的机制。也就是说,如果有其他人在操作某个对象,那么你旧不能在该对象上进行操作。你能否执行操作取决于其他用户正在进行的操作。 通过锁可以防止的问题 锁可以解决以下4种主要问题: 脏读 非重复性读取 幻读 丢失更新 1、脏读 如果一 ...
分类:
数据库 时间:
2017-10-22 21:30:48
阅读次数:
169
事务间未做隔离,会引起下面这些问题。 1、脏读:一个事务可读到另外一个尚未commit的事务中的数据。 2、不可重复读:在一个事务中,读取同一个数据 a,b,按顺序读取,在读a b 之间,另外一个事务修改了这个数值,并且提交了。这时,在这同一事务中,两次读取的值就不同了。 3、幻读:事务A,更新日期 ...
分类:
数据库 时间:
2017-10-16 14:57:32
阅读次数:
237