http://blog.sina.com.cn/s/blog_499740cb0100ugs7.html 上述链接很经典的解释了mysql的mvcc为什么是部分解决了幻读的问题。 同时我需要理解的是,在业务逻辑中,事务是可以分散在业务代码里面的,并不是说一条语句写出。比如,我们启动了一个事务,sta ...
分类:
数据库 时间:
2017-02-22 16:34:37
阅读次数:
192
innodb的默认事务隔离级别是rr(可重复读)。它的实现技术是mvcc。基于版本的控制协议。该技术不仅可以保证innodb的可重复读,而且可以防止幻读。但是它防止的是快照读,也就是读取的数据虽然是一致的,但是数据是历史数据。如何做到保证数据是一致的(也就是一个事务,其内部读取对应某一个数据的时候, ...
分类:
其他好文 时间:
2017-02-22 10:21:05
阅读次数:
645
光标(游标)概念引入 就是一个结果集(查询或者其他操作返回的结果是多个时使用)定义一个光标 cursor c1 is select ename from emp; 从光标中取值 打开光标: --open c1;(打开光标执行查询) 关闭光标: --close c1;(关闭游标释放资源)取一行光标的值 ...
分类:
数据库 时间:
2017-02-20 12:45:08
阅读次数:
278
事务隔离级别 数据库并发操作存在的异常情况:1. 更新丢失(Lost update): 两个事务都同时更新一行数据但是第二个事务却中途失败退出导致对数据两个修改都失效了这是系统没有执 行任何锁操作因此并发事务并没有被隔离开来。 2. 脏读取(Dirty Reads): 一个事务开始读取 了某行数据但 ...
分类:
其他好文 时间:
2017-02-13 08:36:06
阅读次数:
220
mysql中InnoDB引擎默认为可重复读的(REPEATABLE READ)。修改隔离级别的方法,你可以在my.inf文件的[mysqld]中配置: 用户可以用SET TRANSACTION语句改变单个会话或者所有新进连接的隔离级别。它的语法如下: 注意:默认的行为(不带session和globa ...
分类:
数据库 时间:
2017-02-07 12:17:37
阅读次数:
267
隔离级别定义用于控制并发事务的行为,它决定在访问数据时数据是如何锁定的、如何与其他进程隔离的。 包括四个级别,级别从高到低: RR(可重复读取) RS(读取稳定性) CS(游标稳定性) UR(未提交的读取) 1.RR隔离级别:在此隔离级别下, DB2会锁住所有相关的纪录。 在一个SQL语句执行期间, ...
分类:
数据库 时间:
2017-02-02 13:00:20
阅读次数:
227
SqlServer通过普通锁来保护数据库的内容(内容),通过闩锁保护内存的数据结构(缓冲区)。锁冲突会产生等待,在高并发或长作业时会严重影响性能。因此有必要了解锁的相关知识,减少锁冲突。锁模式决定锁的互斥类别,锁粒度决定锁的影响范围,事务隔离级别决定是否在读数据的时候使用锁、读锁的持续时间、读已经被 ...
分类:
其他好文 时间:
2017-01-29 23:05:07
阅读次数:
245
在Spring中,声明式事务是用事务参数来定义的。一个事务参数就是对事务策略应该如何应用到某个方法的一段描述,如下图所示一个事务参数共有5个方面组成: 传播行为 事务的第一个方面是传播行为。传播行为定义关于客户端和被调用方法的事务边界。Spring定义了7中传播行为。 传播规则回答了这样一个问题,就 ...
分类:
编程语言 时间:
2017-01-20 16:11:21
阅读次数:
157
事务隔离级别 数据库事务隔离级别,只是针对一个事务能不能读取其它事务的中间结果。 Read Uncommitted (读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读( Dirt ...
分类:
数据库 时间:
2017-01-20 15:53:34
阅读次数:
283
本文转自:http://m.blog.csdn.net/article/details?id=51924963 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并 ...
分类:
数据库 时间:
2017-01-17 00:48:39
阅读次数:
232