这几天查询DB2数据库,老遇到select * from XXX with ur, 好奇ur是什么作用,现在记录一下。

DB2中,共有四种隔离级:RS,RR,CS,UR,DB2提供了这4种不同的保护级别来隔离数据。隔离级是影响加锁策略的重要环节,它直接影响加锁的范围及锁的持续时间。两个应用程序即使执行的相同的操作,也可能由于选择的隔离级的不同而造成加锁的结果不同。
1、ur(Uncommited Read) 就是俗称“脏读“,在没有提交数据的时候能够读到更新的数据;是最低的隔离级别,并且提供最高的并行性。
2、cs(Cursor Stability) 在一个事务中进行查询时,允许读取提交前的数据,数据提交后,当前查询就可以读取到数据,update数据的时候并不锁表,在这一隔离级别中,游标的“当前”行是锁定的。如果该行只是被读,锁定会一直持续到一个新行被访问或者该工作单元终止。如果该行被修改,锁定会一直持续到该工作单元终止。
3、rs(Read Stability)读稳定性,在一个事务中进行查询时,不允许读取其他事务update的数据,允许读取到其他事务提交的新增数据,使用读稳定性,在同一个工作单元中的一个程序进程所检索的全部行都会被锁定。对于一个给定的游标,它要锁定所有与结果集匹配的行,例如,如果你有一个含1000行的表并且查询返回10行,那么只有那10行会被锁定。读稳定性使用中等级别的锁定。
4、rr(Repeatable Read)可重新性,可 重复读是最高的隔离级别,提供了最大程度的锁定和最少的并行。产生结果集的所有行都会被锁定,也就是说,即使不必出现在最终结果集中的行也会被锁定。在此 该工作单元结束前,任何其它程序都不能修改,删除或插入一个会影响结果集的行。重复读确保程序在一个工作单元中多次进行的同一项查询都返回结果。在一个事务中进行查询时,不允许任何对这个查询表的数据修改。

db2 with ur的更多相关文章

  1. DB2 SQL RR/RS/CS/UR四个级别《转载》

    1.RR隔离级别:在此隔离级别下, DB2会锁住所有相关的纪录.在一个SQL语句执行期间,所有执行此语句扫描过的纪录都会被加上相应的锁.具体的锁的类型还是由操作的类型来决定,如果是读取,则加共享锁:如 ...

  2. DB2隔离级别之RR/RS/CS/UR

      1.RR隔离级别:在此隔离级别下. DB2会锁住全部相关的纪录. 在一个SQL语句运行期间, 全部运行此语句扫描过的纪录都会被加上对应的锁.在一个SQL语句运行期间,全部运行此语句扫描过的纪录都会 ...

  3. db2命令参数with ur

    查询DB2数据库,老遇到select * from XXX with ur, 好奇ur是什么作用(转) DB2中,共有四种隔离级:RS,RR,CS,UR,DB2提供了这4种不同的保护级别来隔离数据. ...

  4. 在db2数据库上模拟死锁场景 还是z上的

    如果条件允许,起两个线程互相抢资源就行了,但问题是,时间上还需要同步,要做到完美控制,还得加其他逻辑,忒费事,所以可以用下面的办法: 在目标表上直接加个锁……简单,粗暴,直接……很好…… LOCK T ...

  5. DB2语句详细资料

    http://www.2cto.com/database/201307/225809.html 1.数据操作语言(DML:select,delete,insert,update) <>查询 ...

  6. DB2 claim与drain

    DB2使用claim & drain来控制SQL与utility对数据库对象的访问. claim说明有对象正在访问或是将要访问该对象,而drain则是在对象上面加一个drain lock,等所 ...

  7. DB2 错误信息码

    000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 01568 动态SQL语句用分号结束 +1 ...

  8. DB2 SQLCODE 大全

    DB2错误信息sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 ...

  9. DB2中错误信息说明

    DB2错误信息SQLCODE SQLSTATE (按sqlcode排序) .分类: db2数据库 2012-10-19 11:35 2942人阅读 评论(0) 收藏 举报 db2sql存储table数 ...

随机推荐

  1. zookeeper入门学习

    1.基本概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的 ...

  2. 杭电acm 1003

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> usin ...

  3. 【ios 7】 之后的设置系统的状态栏隐藏的方法分享

    由于在做视频播放的的项目,一直困扰的是,视频全屏幕播放的时候,系统的状态栏会隐藏不掉,虽然可以设置为透明的状态来显示,但是电池的状态一直隐藏不掉,查看网上的说法也就是说,要么来控制,他的hidden ...

  4. 1045 access denied for user 'root'@'localhost' using password yes的解决方法

    今天把一个项目和项目的数据库都下载到了本地,安装好项目和在本地配置好数据库后,在浏览器登陆项目的后台却出现了以下错误:   后来上百度搜索了好几个答案,都是讲述修改数据库密码的步骤,但是就是没有说明为 ...

  5. U盘FAT32文件系统转换成NTFS文件系统

    首先 点击-开始--运行---输入CMD ----输入convert X:/FS:NTFS 其中 X是U盘所在的盘符

  6. STL迭代器之二:迭代器型别

    如果一个迭代器要兼容stl,必须遵循约定,自行以内嵌型别定义的方式定义出相应型别.根据书中介绍,最常用到的迭代器型别有五种:value type,difference type, pointer, r ...

  7. Java并发编程:Callable、Future和FutureTask

    作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置 ...

  8. top命令如何列出所有进程

    今天在工作中遇到一个问题,想通过top命令来查看系统内所有进程,上网找到了办法记录下来. 命令:top -bn1

  9. Mysql存储过程调用

    mysql存储过程实例教程 发布时间:2014-04-09编辑:JB01 这篇文章主要介绍了mysql存储过程的使用方法,mysql存储过程实例教程,有需要的朋友参考下.   1.1create  p ...

  10. HUSTOJ搭建实录

    要做一个MOOC平台,要求有在线编程功能,想偷个懒,于是用了HUSTOJ...... 系统:Ubuntu14.04 Kylin 步骤: 一.搭建服务器和相应环境 apache2: sudo apt-g ...