hibernate之控制并发访问(ANSI事务隔离性级别)

hibernate之控制并发访问(ANSI事务隔离性级别)

ANSI事务隔离性级别
标准的隔离性级别由ANSI SQL标准定义,但是它们不是SQL数据库特有的。JTA也定义了完全相同的隔离性级别,稍后你将用这些级别声明想要的事务隔离性。隔离性级别的增加带来了更高成本以及严重的性能退化和可伸缩性:
----------------------------
1.允许脏读取但不允许丢失更新的系统,据说要在读取未提交的隔离性中操作。如果一个未提交事务已经写到一个行,另一个事务就不可能再写到这个行。但任何事务都可以读取任何行。这个隔离性级别可以在数据库管理系统中通过专门的写锁实现。(读取未提交隔离性级别)
----------
2.允许不可重复读取但不允许脏读取的系统,据说要实现读取提交的事务隔离性。这可以用共享的读锁和专门的写锁来实现。读取事务不会阻塞其他事务访问行。但是未提交的写事务阻塞了所有其他的事务访问该行。(读取提交隔离性级别)
----------
3.在可重复读取隔离性模式中操作的系统既不允许不可重复读取,也不允许脏读取。幻读可能发生。读取事务阻塞写事务(但不阻塞其他的读取事务),并且写事务阻塞所有其他的事务。(可重复读取隔离性级别)
----------
4.可序列化提供最严格的事务隔离性。这个隔离性级别模拟连续的事务执行,好像事务是连续地一个接一个地执行,而不是并发地执行。序列化不可能只用低级锁实现。一定有一些其他的机制,防止新插入的行变成对于已经执行会返回行的查询的事务可见。(可序列化隔离性级别)
----------------------------
锁系统在DBMS中具体如何实现很不相同:每个供应商都有不同的策略。你应该查阅DBMS文档,找出更多有关锁系统的信息,如何逐步加强锁(例如从低级别到页面,到整张表),以及每个隔离性级别对于系统性能和可伸缩性有什么影响。
----------
sqlserver 与 oracle都是默认读取提交隔离级别!!!!!!!!!!!!!!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值