chenhuajun0311 发表于 2010-04-16 13:43

数据库本身有个默认的隔离级别,在11以前没法改,就是COMMIT READ。当然用户可以在本身的SESSION里指定一个新的隔离级别,生效范围只在这个SESSION里。11后就可以用参数USELASTCOMMITTED这个可以改数据库默认的隔离级别了。也可以在在SESSION改,生效范围也只在这个SESSION里。

wolfop 发表于 2010-04-16 19:12

数据库本身有个默认的隔离级别,在11以前没法改,就是COMMIT READ。当然用户可以在本身的SESSION里指定一个 ...
chenhuajun0311 发表于 2010-04-16 13:43 http://bbs.chinaunix.net/images/common/back.gif
USELASTCOMMIT根本不是改隔离级别, 而是让IDS在commit read的时候表现的类似oracle,修改一个记录尚未提交时,另外一个session查询到这条记录的时候,把已经提交的结果返回,而不是以前那样要等待commit或者rollback.

vbirding 发表于 2010-04-19 16:11

回复 11# chenhuajun0311

    数据库本身有个默认的隔离级别,在11以前没法改,就是COMMIT READ。
    对于这句话,我不敢苟同
1.默认的隔离级别怎么可能会是COMMIT READ
   2.隔离级是可以修改的

chenhuajun0311 发表于 2010-10-21 11:10

回复 12# wolfop


    你看看IBM的手册,11里last commit read 是作为一种新的隔离级别。具体出处在Guide to SQL Syntax里有介绍。

chenhuajun0311 发表于 2010-10-21 11:14

回复 13# vbirding


    默认隔离级别在11以前就是COMMIT READ,你可以做做实验证实,在没有限制当前SESSION隔离级别时,是否默认就是COMMIT READ。
在11以前至少我还没有找到改这个默认隔离级别的办法。如果你找到请告知!

wolfop 发表于 2010-10-21 11:40

本帖最后由 wolfop 于 2010-10-21 17:15 编辑

回复wolfop


    你看看IBM的手册,11里last commit read 是作为一种新的隔离级别。具体出处在Guide ...
chenhuajun0311 发表于 2010-10-21 11:10 http://bbs.chinaunix.net/images/common/back.gif

last commit read是CR隔离级别下的一个选项,隔离级别只有RR/CR/CS/DR,last commit可以在onconfig中配置或者在session中显式指定。
>>-SET ISOLATION--+----+---------------------------------------->
                  '-TO-'   

>--+-REPEATABLE READ-------------------------------------------------+-><
   '-+-COMMITTED READ--+----------------+-+--+---------------------+-'   
   |               '-LAST COMMITTED-' |'-RETAIN UPDATE LOCKS-'   
   +-CURSOR STABILITY-------------------+                              
   '-DIRTY READ--+--------------+-------'                              
                   '-WITH WARNING-'

Hendane 发表于 2010-10-21 15:03

非ANSI数据库默认隔离级别为CR,
ANSI数据库默认隔离级别为RR,具体参考informix实用全书。
页: 1 [2]
查看完整版本: informix怎么查看一个数据库的隔离级别???