事务的特征:ACID
Atomicity:原子性
Consistency:一致性
Isolation:隔离性
Duration:持久性
在SQL标准中定义了事务的四种隔离级别:
1,read uncommitted 未提交读
事务中的修改,即使没有提交,对其他事务也都是可见的。即事务可以读取未提交的数据,即会产生脏读。
2,read committed 提交读 ...
分类:
数据库 时间:
2014-07-10 22:29:41
阅读次数:
319
今天小伙伴问了一个sql的问题: update t set status=2 where id in(select id from t where status=1)这个sql,在并发的情况下,会不会有问题?假设:下面的讨论,数据库的事务隔离级别是read_committed其实这个可以很容易测试....
分类:
数据库 时间:
2014-06-28 15:46:39
阅读次数:
204
原文:01. SQL Server 如何读写数据一. 数据读写流程简要SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制。无论有没有显示开启事务,事务都是存在的。流程图如下: 数据读写流程图0. 事务开始(1) 所有DML语句必然是基于事务的...
分类:
数据库 时间:
2014-06-25 23:12:41
阅读次数:
390
查询mysql事务隔离级别查询mysql事务隔离级别分类:DB2011-11-26 13:122517人阅读评论(0)收藏举报mysqlsessionjava1.查看当前会话隔离级别select @@tx_isolation;2.查看系统当前隔离级别select @@global.tx_isolat...
分类:
数据库 时间:
2014-06-23 08:11:54
阅读次数:
240
oracle隔离级别 只有READ COMMITTED和 SERIALIZABLE因为当有人对数据库的数据进行任何写操作(DML操作)时,Oracle数据库系统首先将原始的数据复制到回滚段中,之后才做相应的操作,在事务处理结束之前其他的用户可以读这些数据,但是读到的都是回滚段上的数据。参考http:...
分类:
数据库 时间:
2014-06-21 06:44:00
阅读次数:
205
在READ
UNCOMMITTED事务隔离级别下或使用WITH(NOLOCK)来查询数据时,会出现脏读情况,因此对于一些比较"关键"的业务,会要求不能使用WITH(NOLOCK)或允许在READ
UNCOMMITTED事务隔离级别下,于是我们使用默认的READ COMMITTED隔离级别来访问数据,...
分类:
其他好文 时间:
2014-06-10 00:27:57
阅读次数:
264
如果要把SQL
Server数据库事务隔离级别设置为已提交读快照隔离如果直接运行下面的语句:ALTER Database [mydbname] SET
READ_COMMITTED_SNAPSHOT ON会可能被阻塞很长时间。我这边在正式环境测试过4个小时都没有执行完。你可以选择运行下面的语句:if...
分类:
数据库 时间:
2014-06-09 17:45:22
阅读次数:
262
1、nolock的使用nolock将破坏数据库连接事务隔离级测试如下在sqlserver的management
studio中创建一个窗口,执行如下语句begin transactioninsert into t1(f1) values
(1)创建一个新的窗口,执行如下语句select * from...
分类:
数据库 时间:
2014-06-05 18:40:01
阅读次数:
266
在Spring中定义了5中不同的事务隔离级别:1.
ISOLATION_DEFAULT(一般情况下使用这种配置既可);这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。2.
ISOLATION_READ_UNCOMMITTED4 p" L. I...
分类:
编程语言 时间:
2014-06-01 11:23:03
阅读次数:
199
原文:SQL Server 监控统计阻塞脚本信息 数据库产生阻塞(Blocking)的本质原因
:SQL语句连续持有锁的时间过长 ,数目过多, 粒度过大。阻塞是事务隔离带来的副作用,它是不可避免的,而且是一个数据库系统常见的现象。
但是阻塞的时间和出现频率要控制在一定的范围内,阻塞持续的时间过长或阻...
分类:
数据库 时间:
2014-05-29 08:28:08
阅读次数:
608