db2 select * from topicis.dm_qylx with ur

在DB2中,共有四種隔離級:RS,RR,CS,UR

UR:UR-Uncommitted Read 未提交讀

是sql執行時的一種隔離級別,允許臟讀,不加行鎖

作用就是在select的時候,不需要對update的數據進行等待。

DB2數據庫的隔離級解讀與試驗

基本信息

摘要:在DB2中,共有四種隔離級:RS,RR,CS,UR.以下對四種隔離級進行一些描述,同時附上個人做試驗的結果。隔離級是影響加鎖策略的重要環節,它直接影響加鎖的范圍及鎖的持續時間。兩個應用程序即使執行的相同的操作,也可能由於選擇的隔離級的不同而造成加鎖的結果不同。

隔離級解讀和試驗

隔離級是影響加鎖策略的重要環節,它直接影響加鎖的范圍及鎖的持續時間。兩個應用程序即使執行的相同的操作,也可能由於選擇的隔離級的不同而造成加鎖的結果不同。在DB2中,共有四種隔離級:RS,RR,CS,UR.以下對四種隔離級進行一些描述,同時附上個人做試驗的結果。

讀可靠性(RS-Read Stability)

如果使用這種隔離級,在一個事務中所有被讀取過的行上都會被加上NS鎖,直到該事務被提交或回滾,行上的鎖才會被釋放。這樣可以保證在一個事務中即使多次讀取同一行,得到的值不會改變。

但是,如果使用這種隔離級,在一個事務中,如果使用同樣的搜索標准重新打開已被處理過的游標,則結果集可能改變。(可能會增加某些行,這些行被稱為幻影行(Phantom))。這是因為RS隔離級不能阻止通過插入或更新操作在結果集中加入新行。

個人筆記:

 根據實際測試情況,RS模式下:查詢完畢以后,滿足條件的結果集中的記錄被鎖定,不滿足條件的不被鎖定。

 可以對不滿足條件的記錄更新,也可以插入新的記錄。其他人可以查詢滿足已經鎖定的記錄,但不可以更新。

重復讀(RR-Repeat Read)

如果使用這種隔離級,在一個事務中所有被讀取過的行上都會被加上S鎖,知道該事務被提交或回滾,行上的鎖才會被釋放。這樣可以保證在一個事務中即使多次讀取同一行,得到的值不會改變。

另外,在同一事務中如果以同樣的搜索標准重新打開已被處理過的游標,得到的結果集不會改變。重復讀相對於讀可靠性而言,加鎖的范圍更大。

對於讀可靠性,應用程序只對符合要求的所有行加鎖,而對於重復讀,應用程序將對所有被掃描過的行都加鎖。例如,如果一個應用程序對一個表中的 10000行數據進行掃描,最終找到了100條符合搜索條件的結果行。如果該應用程序使用的是讀可靠性隔離級,應用程序將只對這符合條件的100行加鎖;如果該應用程序使用的是重復讀隔離級,應用程序將對被掃描過的10000行都加鎖。

個人筆記

 根據實際測試情況,RR模式下:查詢完畢以后,不可以對不滿足條件的進行更新,也不可以插入新記錄。可能原因是:如果允許別人更新記錄或者插入新記錄的話,則可能造成原來結果集的破壞,重新讀的時候和以前不同。

 select for update with rr/rs 是可以用來實現記錄鎖。是一種特殊情況。即便是RR,仍然可以對其他記錄操作。

游標可靠性(CS-Cursor Stability)

如果使用這種隔離級,在一個事務中,結果集中只有正在被讀取的那一行(游標指向的行)將被加上NS鎖,其他未被處理的行上不被加鎖。這種隔離級只能保證正在被處理的行的值不會被其他並發的程序所改變。該隔離級是DB2缺省的隔離級。

個人筆記

僅僅在游標在該行的時候鎖定,這是一種非常弱的隔離狀態。

未提交讀(UR-Uncommitted Read)

如果使用這種隔離級,對於只讀操作,不加行鎖。典型的只讀操作包括:

 SELECT語句的結果集只讀(比如語句中包括ORDER BY子句);

定義游標是指明起為FOR FETCH ONLY。

該隔離級可以改善應用程序的性能,同時可以最大程度的允許並發。但是,應用程序的數據完整性將受到威脅。如果需要讀取未提交的數據,該隔離級是唯一選擇。

個人筆記

讀的時候完全不受限制,對於同一行記錄的完整性也無法保證。

總結

以上我們所提的隔離級的加鎖范圍和持續時間都是針對於讀操作而言的。

對於更改操作,被修改的行上會被加上X鎖,不論使用何種隔離級,X鎖直到提交或回滾之后才會被釋放。

db2 with ur迁移Oracle,db2 “with ur”是什么意思!可以完成什么功能相关推荐

  1. db2存储结构换Oracle,DB2中实现Oracle的功能

    1.如何实现分页显示的Oracle和DB2的写法 Oracle 可以这样实现﹕ SQL>select rownum,* from BSEMPMS where rownum >=5 and ...

  2. Oracle数据库联邦,使用联邦数据库将oracle表迁移到DB2(9.7)中的脚本说明

    由于兄弟项目组要测试,需要将oracle中的表迁移到db2中,操作步骤如下: #1 在windows数据库中建联邦数据库服务器\用户映射 connect to sample CREATE WRAPPE ...

  3. 使用IBM Data Movement Tool 具体迁移oracle至db2实验

    该工具支持多种数据库迁移至DB2: 该软件需要在DB2服务器上执行,否则迁移后可能出现只有对象,无实际业务数据的现象. 使用如下方式在Linux操作系统下启动此软件: 连接oracle需要如下驱动(插 ...

  4. mysql longtext db2_从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C

    从 MySQL 或 PostgreSQL 迁移到 DB2 Express-C 用三个简单步骤迁移到 DB2 Vikram Khatri, Nora Sokolof, 和 Manas Dadarkar ...

  5. 如何将DB2数据库转换成Oracle数据库,这一篇告诉你

    墨墨导读:众所周知,数据库升级.转换.迁移是数据库运维必备的日常技能,本文详细介绍一则将DB2数据库转换成Oracle数据库的案例,希望对大家有帮助. 1. 前言 记录一则使用sql develope ...

  6. SQL Server,Oracle,DB2索引建立语句的对比

    http://database.51cto.com/art/201108/284540.htm SQL Server,Oracle,DB2索引建立语句的对比 2011-08-17 20:48 henr ...

  7. db2 linux 平台下迁移_Linux 下的 DB2数据库的迁移

    前言: DB2 Universal Database™(DB2 UDB) 有一对非常有用的工具,可以帮助您实现这种跨平台的备份与恢复功能. db2move 工具利用了 DB2 的数据移动工具(expo ...

  8. db2 兼容 oracle 语法,db2 case when和oracle兼容有关问题

    当前位置:我的异常网» DB2 » db2 case when和oracle兼容有关问题 db2 case when和oracle兼容有关问题 www.myexceptions.net  网友分享于: ...

  9. db2 dec函数oracle,DB2常用函数和Oracle的比较

    文章主要讲述的是DB2常用函数与Oracle的比较,其中主要涉及到的内容有类型转化函数,时间日期,字符串函数以及数学函数的描述,下面就是文章的主要内容的描述,望大家会对其有更好的收获. DB2常用函数 ...

最新文章

  1. python中format函数用法简书_Python 中format 的用法
  2. 分库分表下极致的优化
  3. 京东java开发面经_面经|京东技术中台Java开发面经
  4. exp/imp导出导入工具的使用
  5. 汽车电子电气架构工程师的工作
  6. 《经济机器是怎样运行的》笔记(一)
  7. 电子工程师 嵌入式开发者的嘉年华最强攻略
  8. 校赛题解(部分)+反思
  9. 在龙芯电脑制作 debian 系统(MIPS)
  10. ISO7816 调试心得
  11. c语言平均绩点_【干货】你们关心的GPA算法来了!
  12. phpspreadsheet常用设置项
  13. linux使用make命令编译错误,有关linux的make文件编译问题
  14. 14个适合后台管理系统快速开发的前端框架
  15. linux qnx 开发平台,QNX学习笔记之QNX Momentics IDE开发工具使用笔记
  16. Flutter AnimatedSwitcher 实现的滑动切换数字动画效果
  17. HBase学习提纲:助你一臂之力
  18. 走出软件作坊之十七-走钢索的人
  19. 联发科2022暑期实习笔试题
  20. 邢台职业技术学院计算机学费,邢台职业技术学院各专业学费标准

热门文章

  1. Unity截屏保存到安卓手机相册
  2. python爬虫----网易云音乐歌曲爬取并存入Excel
  3. 基于小米NOTE的安卓手机刷nethunter通用包的教程
  4. Python环境pycharm配置anaconda过程
  5. winscp下载及安装教程
  6. 配置Nvidia V100 服务器驱动
  7. tp5.1 PHP + Redis实现自动取消订单
  8. eWebeditor在线编辑器漏洞利用
  9. 2021 浙江省大学生网络与信息安全竞赛预赛 听说你在找flag?
  10. 【appium】appium自动化入门之ios软件如何测试