• 不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

  • 幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

什么是事务的隔离级别?MySQL的默认隔离级别是什么?

为了达到事务的四大特性,数据库定义了4种不同的事务隔离级别,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。

SQL 标准定义了四个隔离级别:

  • **READ-UNCOMMITTED(读取未提交)****:**最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。

  • **READ-COMMITTED(读取已提交):**允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。

  • **REPEATABLE-READ(可重复读):**对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。

  • SERIALIZABLE(可串行化):最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

这里需要注意的是:Mysql 默认采用的 REPEATABLE_READ隔离级别 Oracle 默认采用的 READ_COMMITTED隔离级别

事务隔离机制的实现基于锁机制和并发调度。其中并发调度使用的是MVVC(多版本并发控制),通过保存修改的旧版本信息来支持并发一致性读和回滚等特性。

因为隔离级别越低,事务请求的锁越少,所以大部分数据库系统的隔离级别都是READ-COMMITTED(读取提交内容):,但是你要知道的是InnoDB 存储引擎默认使用 **REPEATABLE-READ(可重读)**并不会有任何性能损失。

InnoDB 存储引擎在 分布式事务 的情况下一般会用到**SERIALIZABLE(可串行化)**隔离级别。

对MySQL的锁了解吗

当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机

2020最新版MySQL数据库面试题,java开发工程师面试题及答案相关推荐

  1. 2020最新版MySQL数据库面试题(一)

    点击上方" 码农编程进阶笔记 ",选择"置顶或者星标" 文末有干货,每天定时与您相约! 为什么要使用数据库 数据保存在内存 优点:存取速度快 缺点:数据不能永久 ...

  2. java开发工程师面试题‘’_JAVA开发工程师面试题

    用C/C++或者Php,或Java,给出例子,解释什么是异常(exception)?下面就由学习啦小编为大家介绍一下JAVA开发工程师面试题的文章,欢迎阅读. JAVA开发工程师面试题篇1 1.解释什 ...

  3. 中科金财java_中科金财java开发工程师笔试题(带答案).docx

    中科金财java开发工程师笔试题(带答案).docx JAVA开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)一.编程题(共26分)1任意写出一种排序算法.(6分)PUBLICV ...

  4. 中科曙光Java笔试题_中科金财Java开发工程师笔试题的(带答案).docx

    中科金财Java开发工程师笔试题的(带答案) Java开发工程师笔试试题(请不要在试题上留任何痕迹,所有答案均写在答题纸上)编程题(共26分)任意写出一种排序算法.(6分)public void so ...

  5. 微博面试Java,微博java开发工程师面试题整理

    下面要给大家分享的是一个小伙伴的微博java开发工程师一面的面试题,一起来看看微博java开发工程一面面试题都有哪些吧! 面试题(一面) 1.做一个小时笔试 2.java创建对象的几种方式是什么? 用 ...

  6. Java开发工程师笔试试题(附带答案)

    Java开发工程师笔试试题(附带答案) 最后附带CSDN下载 下载地址Java开发工程师笔试试题(包含答案)

  7. 思源科技java面试_【企业招聘笔试真题】思源Java开发工程师笔试题

    Java开发工程师笔试题 1.用最有效率的方法算出2乘以8等于几? 2.下面的程序输出结果是多少? 3.Import java.util.Date; 4.Public class Test exten ...

  8. 中科金财 java_中科金财Java开发工程师笔试题 带答案

    Java开发工程师笔试试题 (请不要在试题上留任何痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法.(6分) public void sort(int [] array ...

  9. Java开发工程师--面试题(珍藏版)

    目的 Java 开发工程师面试准备 常考面试题 一.Dubbo的服务请求失败怎么处理?[分布式系统中Dubbo] Double是一个RPC框架,它为我们的应用提供了远程通信的能力,同时Double在R ...

  10. 中软融鑫 java笔试题_中软融鑫2014校招java开发工程师笔试题

    如果你想要应聘中软融鑫的java开发工程师岗位,小编下面分享的内容就是中软融鑫2014校招所考的试题,感兴趣的朋友赶紧收藏吧! 一.选择题 1.下列表达式正确的()? A.byte b = 128; ...

最新文章

  1. Git安装与Github基本使用(完整版 for mac)
  2. elastic job review
  3. 使用Atom编辑文本文件
  4. 导入android studio项目,编译失败
  5. LeetCode_Convert Sorted Array to Binary Search Tree(Java实现)
  6. solidworks钣金插件_SolidWorks钣金三圆弧交点如何展开?大神和小白请进
  7. php一次性执行多条sql_PHP循环执行多条SQL
  8. ASP.NET Core - Razor页面之Handlers处理方法
  9. Ant Design入门之开始使用
  10. [蓝桥杯][算法提高VIP]开灯游戏(dfs)
  11. camel apache_Apache Camel 3的工作终于开始了
  12. Hbuilder 左侧项目栏文件打开方式(单击?双击?) - 设置篇
  13. 未了(endless)(【CCF】NOI Online 能力测试2 入门组第一题 )
  14. Quartz.NET 入门
  15. 免费送瑞星产品序列号?其实送的是Trojan-Downloader.Win32.VB.lbv
  16. php培训周期,合肥PHP培训周期为什么往往比2个月要长?
  17. Invalid url-pattern /admin/*.jsp in filter mapping
  18. 第八届蓝桥杯全国总决赛真题解析
  19. antd页面多表单校验
  20. faceapp一直显示选择服务器,faceapp提示choosing a serve_faceapp提示choosing a serve解决办法_玩游戏网...

热门文章

  1. 【SLAM】Sophus库的超详细解析
  2. excel中如果条件相同是否可以替换目标字段_Excel教程:这些Excel函数案例,你真的应该会了!...
  3. uvm_mem 模型 (1)
  4. Python进阶小技巧3:跳出多层循环
  5. 仿新浪天气自制天气图标包含矢量切图、PSD源文件、天气图标信息对应标注--绝对是好东西!!!!!!
  6. 04.Java 编程入门学习笔记20210307
  7. RxAndroid使用方法
  8. Find out with my performance review of the nike pg 1
  9. 车道图新方案!LaneGAP:基于路径的在线车道图构建(华科地平线)
  10. 苹果手机怎么删除软件?教你1分钟搞定!