为了快速同步数据的需要,我分段执行了两次python脚本,即开启了两个进程同步数据,结果服务器不时报出数据库死锁异常,通过排查代码和数据库日志发现,是由长事务并发引起的。代码中有入账和出账两个方法,里面涉及操作较多,都为其加了事务,抛出异常时可自动回滚,采用数据库(mysql)默认的隔离级别(Rep... ...
分类:
数据库 时间:
2016-05-21 23:13:54
阅读次数:
633
注明: 本文转载自http://www.hollischuang.com/archives/898 数据库的读现象浅析中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。 并发控制 在计算机科学,特别是程序设计 ...
分类:
数据库 时间:
2016-05-18 23:49:58
阅读次数:
273
注明: 本文转载自http://www.hollischuang.com/archives/943 本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执 ...
分类:
数据库 时间:
2016-05-18 23:47:39
阅读次数:
268
数据库隔离级别有四种,应用《高性能mysql》一书中的说明:
然后说说修改事务隔离级别的方法:
1.全局修改,修改mysql.ini配置文件,在最后加上
1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
2 [mysqld]
3 transactio...
分类:
数据库 时间:
2016-05-17 09:59:01
阅读次数:
163
spring传播属性PROPAGATION_REQUIRED:该方法必须运行在一个事务中。如果一个事务正在运行,该方法将运行在这个事务中。否则,就开始一个新的事务。Spring事务的隔离级别1.ISOLATION_DEFAULT:这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别..
分类:
编程语言 时间:
2016-05-11 20:22:23
阅读次数:
288
spring的事务隔离级别ISOLATION_DEFAULT:使用数据库默认的隔离级别。
ISOLATION_READ_UNCOMMITTED:允许读取改变了的还未提交的数据,可能导致脏读、不可重复读和幻读。
ISOLATION_READ COMMITTED:允许并发事务提交之后读取,可以避免脏读,可能导致重复读和幻读。
ISOLATION_REPEATABLE_READ:对相同字段的多次读取...
分类:
编程语言 时间:
2016-05-11 07:19:23
阅读次数:
154
2.事务四大隔离级别1、如果是两个线程并发修改,一定会互相捣乱,这时必须利用锁机制防止多个线程的并发修改2、如果两个线程并发查询,没有线程安全问题3、如果两个线程一个修改,一个查询......会有3种问题:1).脏读:一个事务读取到另一个事务未提交的数据2).不可重复读:在一个事..
分类:
其他好文 时间:
2016-05-10 11:12:36
阅读次数:
334
前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎 ...
分类:
数据库 时间:
2016-05-01 19:15:20
阅读次数:
280
1.事务具有ACID四种特性。1.原子性(automicity):一个事务中的所有语句,应该做到:要么全做,要么一个都不做;
2.一致性(consisitency):让数据保持逻辑上的“合理性”,比如:一个商品出库时,既要让商品库中的该商品数量减1,又要让对应用户的购物车中的该商品加1;
3.隔离性(isolation):如果多个事务同时并发执行,但每个事务就像各自独立执行一样。
4.持久性(...
分类:
数据库 时间:
2016-04-29 19:36:47
阅读次数:
217
DML 事务 隔离级别 存储引擎对比DMLinsert into 第一种:
insert into tb_name [(col1,col2,....)]{values|value}(val1,val2,...)[,(val21,val22,....),....]
第二种:
insert into tb_name set col_name=val1,col2=val2,.......
分类:
其他好文 时间:
2016-04-29 18:02:06
阅读次数:
200