Informix 进程隔离级(isolation level)
隔离级是指并发执行相同操作的进程相互隔离的程度。OnLine通过设定进程在读操作时上锁的不同规则而提供了四种隔离级:Dirty Read(脏读)隔离、Committed Read(提交后读)隔离、Cursor Stability(游标固定)隔离和Repeatable Read(可重复读)隔离具体说明如下:
1、Dirty Read(脏读)隔离
Dirty Read是最简单的隔离级,类同于无隔离级当进程在读数据据时并不对所读的数据上锁,也不管其他进程上没上锁或在做什么。
2、Committed Read(提交后读)隔离
当进程请求Committed Read隔离级时,OnLine保证进程得到的数据不是数据库未提交的数据即此时没有其他进程在对这些数据做修改。
3、Cursor Stability(游标固定)隔离
当进程使用Cursor Stability隔离级时,OnLine对进程最后获取的一行数据上锁,对普通的游标上一个共享锁,而对修改游标一个升级锁(更新锁)。
4、Repeatable Read(可重复读)隔离
Repeatable Read隔离级请求数据库服务器对进程读到的每一行数据都加锁为普通的游标加上共享锁而为修改游标上更新锁这些锁直到游标关闭或事务结束时才释放。Repeatable Read允许用户使用滚动游标对所选择的数据多次读取并保证这些数据没有被修改或被删除。用户设置隔离级的方法是用“Set Isolation To isolationlevel”SQL语句,其中isolationlevel是Dirty Read、Committed Read、Cursor Stability和Repeatable Read之一。在Informix-4gl、ESQL/C、SQL中均可以使用。
vlight 回复于:2003-05-28 11:25:45
写得不错啊,想问一下,在默认情况下,启动事务并且在事务中使用foreach处理一个表,是什么隔离级别的呢?
大梦 回复于:2003-05-28 13:18:12
Dirty Read(脏读)隔离
cibhz 回复于:2003-05-28 14:40:17
解释得很清楚啊,比看几百页的书省力多了
carrierye 回复于:2003-05-28 17:08:38
3qs
以后多发些类似的东西吧。
大梦 回复于:2003-05-28 17:09:47
一个的力量是不够的!
ruby_liu 回复于:2003-05-28 21:16:00
很有感召力,我们会好好学习的
cruelsun 回复于:2003-05-28 21:39:08
曾经看过一本国内IBM工程师写的关于CICS的书,
里面既详细又简洁地(个人感觉)描述了数据库的隔离级和锁,
伴有例子,还有开发中应注意的问题,特别提到三层开发。
ifx159 回复于:2003-05-29 09:06:33
收藏!
谢谢老大!
他山之玉 回复于:2003-05-29 10:43:43
多谢!!
他山之玉 回复于:2003-05-29 10:51:26
多谢!!
yansl2003 回复于:2003-05-29 11:28:28
thanks a lot~
蓝色键盘 回复于:2003-05-29 12:32:10
有时间我再补充一些吧
03177766998 回复于:2003-05-29 22:54:06
收下
bryanheqi 回复于:2003-06-16 15:21:46
收
pengch999 回复于:2006-09-28 18:47:49
写的真清楚.谢谢了!
ivhb 回复于:2006-09-29 11:32:03
是dirty read? 有资料可以贴出来么? 我感觉是 committed read
|