以前在辽宁电信做数据转换的时候曾经问过别人一个问题,“修改的数据没有进行commit操作时,能否被其他用户查询到”,当时就被同事鄙视了,在大家眼里这个问题的结果是弱智和显而易见的,但是其实这是一个可以深入研究的问题。

“修改的数据没有进行commit,可以被其它用户查到”,这种场景即为“脏读(dirty read)”。

脏读存在的意义是为了实现非阻塞读(高并发无等待),但是Oracle可以完全得到脏读的所有好处(即无阻塞),而不会带来任何不正确的结果,所以oracle不支持脏读,但是sqlserver等一些数据库是支持脏读的。

oracle是怎么实现这种机制的?当一条数据被修改而未进行commit时,当有其它用户查询这条数据时,oracle会绕过已修改的原数据,而是从undo段获得数据。因此可以返回一致而且正确的答案,而无需等待事务提交。

关于隔离级别

标准sql的隔离级别如下

oracle提供了SQL92标准中的read committed和serializable,同时提供了非SQL92标准的read-only。由于oracle不支持read uncommited,所以oracle不支持脏读。oracle默认的的事务隔离级别为read commited。

read uncommited的隔离级别最低, serializable的隔离级别最高。

较低的隔离级别可以增强许多用户同时访问数据的能力,但也增加了用户可能遇到的并发副作用(例如脏读或丢失更新)的数量。相反,较高的隔离级别减少了用户可能遇到的并发副作用的类型,但需要更多的系统资源,并增加了一个事务阻塞其他事务的可能性。

oracle脏读查询,没有进行commit操作的数据是否能被查询到,关于oracle的脏读和隔离级别...相关推荐

  1. 06512oracle数据库,ORA-06512 – 专业Oracle数据库恢复,或许是您恢复数据的最后机会@phone:13429648788 - 专业Oracle数据库恢复技术支持...

    在想分析数据库性能的关键时刻,突然发现awr不能正常的工作,那就和你上了战场突然发现枪没有子弹一样的郁闷,今天就遇到了11.2.0.3在win的环境中awr生成html不能正常工作.通过查询mos发现 ...

  2. 家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc...

    1 课程设计介绍 1.1课程设计项目简介 家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化遗产,是中华民族的三大文献之一,属珍贵的人文资料 ...

  3. mysql 查询两个字段相同的数据_sql语句如何查询一个表中某两个字段的相同数据?...

    查询一个表中某两个字段的相同数据代码是:Select Name,ID From A group by Name,ID having count (*)>1. 结构化查询语言(Structured ...

  4. mysql查询转json数据库_json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)...

    调用接口,无非也就是打开链接 读取流 将结果以流的形式输出 将查询结果以json返回,无非就是将查询到的结果转换成jsonObject ================================ ...

  5. oracle基表恢复,查找V$PARAMETER 基表 – 专业Oracle数据库恢复,或许是您恢复数据的最后机会@phone:13429648788 - 专业Oracle数据库恢复技术支持...

    1.使用trace查找show parameter执行语句 alter session set events '10046 trace name context forever,level 12'; ...

  6. oracle32588,19c恢复 – 专业Oracle数据库恢复,或许是您恢复数据的最后机会@phone:13429648788 - 专业Oracle数据库恢复技术支持...

    有客户找到我们,他们的oracle 19c数据库由于异常断电,导致启动异常,经过一系列恢复之后,依旧无法解决问题,请求我们给予支持.通过我们的Oracle数据库异常恢复检查脚本(Oracle Data ...

  7. 事务,Oracle,MySQL及Spring事务隔离级别

    一.什么是事务:  事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 二.事务特性(4种):  原子性 (atomicity):强调事务的不可分割: 一致性 (consi ...

  8. MySQL不可读举例_MySQL事务隔离级别与相关示例(脏读、不可重复读、幻读)

    目录 MySQL8中隔离级别的变量跟之前的版本不一样,之前是tx_isolation,MySQL8改成了transaction_isolation.查看当前隔离级别的命令是 mysql> sel ...

  9. mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...

    MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的. 数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不 ...

最新文章

  1. 训练 GPT-3,为什么原有的深度学习框架吃不消?
  2. Android中怎样使用Navicat可视化查看sqllite的数据库(查看db文件)
  3. linux shell学习三
  4. Leetcode每日一题:108.convert-sorted-array-to-binary-search-tree(有序数组转成BST)
  5. AVR 矩阵键盘程序源代码2(有连续按键功能)(原创)
  6. AcWing 2. 01背包问题(01背包模板)
  7. Ubuntu-解决包依赖关系的三种办法
  8. java中级工程师所需的技能_中级Java开发工程师的工作职责描述
  9. android4.2.2+手机管家,深度清理手机垃圾 腾讯手机管家V4.2评测
  10. 网易云音乐评论抓取(js逆向)
  11. java 中rest,Java中的REST调用
  12. Skipped ‘XXX.txt‘ -- Node remains in conflict 问题解决
  13. 江西应用技术职业学院计算机协会,江西应用技术职业学院47个学生社团陆续召开动员大会...
  14. chrome插件(Markdown Nice):用 markdown 写微信公众号
  15. 游戏建模师是做什么的?游戏建模有哪些常用软件?
  16. 树莓派教程 - 1.5 树莓派GPIO库wiringPi 使用硬件串口ttyAMA0与ttyS0
  17. Kubernetes笔记(8) - ConfigMap和Secret
  18. yolov7 打开深度摄像头 realsences
  19. 标量,向量,矩阵和张量的关系
  20. 优学院电子商务理论与实务试题及答案

热门文章

  1. 学cnc还是java,CNC操机多年学UG编程后月薪1万!有人却问:CNC和PLC有什么区别?...
  2. 安装 office2007时出现:1706的错误-解决方案
  3. 揭秘郭台铭兄弟开店计划 苹果中国渠道裂变
  4. 解决WIN10下应用商店不能用,闪退的情况
  5. 树莓派+Klipper入门知识
  6. 朱砂在我心,倾你一世情
  7. 如何选型PLM软件?PLM选型时注意哪些事项呢?
  8. php属于c,c语言属于哪个?php还是java?
  9. linux在根目录下创建目录一test,Linux练习题
  10. 七年交易经验,倾囊分享中长线交易秘诀