一、并发问题的产生

对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致以下各种并发问题:
(1) 脏读:对于两个事物 T1,T2。T1 读取了已经被 T2 更新但还没有被提交的字段,之后,若 T2 回滚,T1 读取的内容就是临时且无效的。
(2)不可重复读:
T1 读取一个字段,然后 T2 更新了该字段,之后,T1 再次读取同一个字段,值就不同了。
(3)幻读:
T1 从一个表中读取了一个字段,然后 T2 在该表中插入了一些新的行,之后,如果 T1 再次读取同一个表,就会多出几行。

数据库事务的隔离性:数据库系统必须具有“隔离并发运行各个事务”的能力,使它们不会相互影响,避免各种并发问题。

二、隔离级别

(1) 一个事务与其他事务隔离的程度称为隔离级别
数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性就越好, 但并发性越弱 , 类似于 Linux 中的互斥锁。
(2)4种隔离级别:
1、 Read Uncommitted 读未提交数据 – 未隔离;
2、Read Commited 读已提交数据 – 不提交,其他事务没法读(Oracle 默认);
3、Repeatable Read 可重复读 – 不提交,其他事务也可读 (MySQL 默认);
4、Serializable 序列化、串行化 (查询也要等前一个事务结束)。
Oracle 支持的隔离级别: Read Commited(默认)和 Serializable以及 Oracle 自定义的 Read Only 三种。
其中Read Only意思为:由于大多数情况下,在事务操作的过程中,不希望别人也来操作,但是如果将别人的隔离级别设置为 Serializable(串行),但是单线程会导致数据库的性能太差。是应该允许别人来进行 read操作的。

Oracle学习:事务的隔离级别相关推荐

  1. JDBC学习笔记(7)——事务的隔离级别批量处理

    数据库事务的隔离级别 对于同时运行的多个事务, 当这些事务访问数据库中相同的数据时, 如果没有采取必要的隔离机制, 就会导致各种并发问题: 脏读: 对于两个事务 T1, T2, T1 读取了已经被 T ...

  2. pb设置Oracle事务的隔离级别,Oracle的事务隔离级别

    ANSI/ISO SQL规定了四种事务隔离级别,分别是:read uncommitted,read committed,repeatable read,serializable ORACE提供了SQ9 ...

  3. 数据库事务的四大特性以及事务的隔离级别详解

    作者 : fjdingsd 来源 : 博客园 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ ...

  4. MySQL数据库引擎、数据事务与隔离级别

    MySQL数据库引擎 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEA ...

  5. 事务和事务的隔离级别

    MySQL学习系列 为什么需要事务 事务是数据库管理系统(DBMS) 执行过程中的一个逻辑单位(不可再进行分割) , 由一个有限的数据库操作序列构成(多个 DML 语句, select 语句不包含 事 ...

  6. mysql数据 锁 隔离级别_MySQL数据库事务各隔离级别加锁情况--read uncommitted篇

    1.目的 1.1 合适人群 1.数据库事务特征我只是背过,并没有很深刻的理解. 2.数据库事务的隔离级别只是了解,并没有深刻理解,也没有在实际工作中体验使用过. 3.经常面试被人问起数据库加锁情况,一 ...

  7. 数据库事务的四大特性以及事务的隔离级别

    本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务 ...

  8. 必须懂的 MySQL 的事务与隔离级别

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:微信支付的软件架构,牛逼!个人原创+1博客:点击前往,查看更多 出处:哈基石 链接:https://segmen ...

  9. 数据库事务的隔离级别简单总结

    数据库中事务的隔离级别有四种.级别由低到高分别为:Read uncommitted.Read committed. Repeatable read和Serializable 四种.这四个级别能够逐个解 ...

  10. MySQL 事务 :ACID、并发带来的问题、事务的隔离级别、事务的实现

    文章目录 ACID 原子性 一致性 持久性 隔离性 并发带来的隔离问题 幻读(虚读) 不可重复读 脏读 丢失更新 隔离级别 Read Uncommitted (读未提交) Read Committed ...

最新文章

  1. Python实现一元及多元线性回归
  2. 2007年教育学专业基础综合考试大纲
  3. list dict 性能测试
  4. 【CMD】管道符(|)
  5. 聚类结果不好怎么办_使用bert-serving生成词向量并聚类可视化
  6. java 正则 多个空格_java正则表达式 多个空格替换多个成-
  7. Hello JavaFX 2.0:命令行介绍
  8. 遥感影像滤波处理软件 — timesat3.2
  9. 永恒之蓝漏洞原理 445_不死的EternalBlue(永恒之蓝)
  10. 大数据_Hbase-API访问_Java操作Hbase_数据操作_表删除_表获取所有数据---Hbase工作笔记0014
  11. java下打包软件--生成exe文件
  12. jmeter-如何进行参数化-循环读取参数
  13. 【大学物理学】机械振动
  14. mysql驱动和url在5.7以上版本变化
  15. opencv如何隐藏窗口
  16. iPhoneiPad越狱后的操作
  17. win10修改用户名||user中文名改英文名
  18. 不可不知的P2P(Peer-To-Peer)
  19. 第十届蓝桥杯省赛Scratch编程真题解析
  20. (筆記) 如何在字串中從指定字元抓到指定字元(pointer版)? (C/C++) (C)

热门文章

  1. 北京/苏州内推 | 微软STCA搜索广告算法团队招聘NLP算法工程师
  2. 直播 | ICLR 2021论文解读:兼听则明,信而有征:可信多模态分类
  3. AU R-CNN:利用专家先验知识进行表情运动单元检测的R-CNN模型
  4. 每周论文清单:知识图谱,文本匹配,图像翻译,视频对象分割
  5. java第九章IO流与文件操作
  6. 丑憨批的vector笔记
  7. 机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型
  8. 巴什博弈例题:NYOJ23;HDU:2149,1847,2897,2188
  9. java插件技术_idea 好用的java插件
  10. export default用法vue_Vue组件通信—provide/inject