范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

MySQL中的事务详解(包含字节京东面试题)

  在MySQL中的事务(Transaction)是由存储引擎实现的,在MySQL中只有InnoDB存储引擎才支持事务。
  事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。1. 事务的四个特性(ACID)
  原子性(Atomicity):指事务是一个不可分割的最小工作单位,事务中的操作只有都发生和都不发生两种情况;
  一致性(Consistency):事务必须使数据库从一个一致状态变换到另外一个一致状态;
  隔离性(Isolation):一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
  持久性(Durability):一个事务一旦提交成功,它对数据库中数据的改变将是永久性的,接下来的其他操作或故障不应对其有任何影响。
  面试题:mysql事务的四种特性到底是基于什么机制实现呢?(字节面试题)
  事务的隔离性由锁机制实现。
  而事务的原子性、一致性和持久性由事务的 redo 日志和 undo 日志来保证。
  REDO LOG 称为重做日志,提供再写入操作,恢复提交事务修改的页操作,用来保证事务的持久性。
  UNDO LOG 称为回滚日志,回滚行记录到某个特定版本,用来保证事务的原子性、一致性。
  redo log:是存储引擎层 (innodb) 生成的日志,记录的是物理级别上的页修改操作;
  undo log:是存储引擎层 (innodb) 生成的日志,记录的是逻辑操作日志;主要用于事务的回滚(undo log 记录的是每个修改操作的逆操作)和一致性非锁定读(undo log 回滚行记录到某种特定的版本—MVCC,即多版本并发控制)。2. 当多个客户端并发地访问同一个表时,可能出现以下的一致性问题
  (1)脏读: 当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。
  (2)不可重复读: 指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,
  那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。
  (3)幻读: 一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,另一个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。
  那么,操作前一个事务的用户会发现表中还有没有修改的数据行,就好象发生了幻觉一样。
  (4)丢失更新: 两个事务同时读取同一条记录,A先修改记录,B也修改记录(B不知道A修改过),B提交数据后B的修改结果覆盖了A的修改结果。3. MySQL事务支持如下四种隔离,用以控制事务所做的修改,并将修改通告至其它并发的事务:
  (1)未提交读(Read Uncommitted(RU)):允许脏读,即允许一个事务可以看到其他事务未提交的修改。
  (2)提交读(Read Committed(RC)):允许一个事务只能看到其他事务已经提交的修改,未提交的修改是不可见的。防止脏读。
  (3)可重复读(Repeatable Read(RR)):—mysql默认的隔离级别确保如果在一个事务中执行两次相同的SELECT语句,都能得到相同的结果,不管其他事务是否提交这些修改。
  可以防止脏读和不可重复读
  (4)串行读(Serializable):—相当于锁表完全串行化的读,将一个事务与其他事务完全地隔离。每次读都需要获得表级共享锁,读写相互都会阻塞。可以防止脏读,不可重复读取和幻读,
  (事务串行化)会降低数据库的效率。
  面试题:mysql默认的隔离级别是什么?如何保证的 (京东面试题)
  面试题:解释下什么是快照读和当前读,举例说下。(京东面试题)4. MVCC多版本并发控制
  MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC就是为了实现读-写冲突(快找读和数据库的当前读冲突)不加锁,提升数据库性能设计的。
  快照读:
  读取的是记录数据的可见版本(有旧的版本),不加锁,普通的select语句都是快照读,如:
  select * from account where id>2;
  当前读:
  读取的是记录数据的最新版本,显示加锁的都是当前读
  select * from account where id>2 lock in share mode;
  select * from account where id>2 for update;
  MVCC的实现依赖
  MVCC的实现原理主要是依赖mysql每条记录中的 3个默认字段(DB_TRX_ID,DB_ROLL_PTR,DB_ROW_ID),和Read View(读视图)以及 undo日志来实现的。
  在InnoDB中,是通过在每行记录后面保存两个隐藏的列来实现的。这两个列,一个保存了行的创建时间,一个保存行的删除时间。存储的时间值实际是系统版本号(system version number)。每开始一个新的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。在可重复读隔离级别下,MVCC的具体操作如下:
  SELECT:
  a. 只查询版本早于当前事务版本的数据行。
  b. 行的删除版本要么 未定义,要么大于当前事务的版本号。这可以确保事务读取到的行,在事务开始之前未被删除。
  INSERT:
  InnoDB为新插入的每一行保存当前系统版本号作为行版本号。
  DELETE:
  InnoDB为删除的每一行保存当前系统版本号作为行删除标识。
  UPDATE:
  InnoDB为插入一行新记录,保存当前系统版本号作为行版本号,同时保存当前系统版本号到原来的行作为行删除标识。
  每天进步一点,早日拿到心仪offer。[点亮平安灯]

手机信号屏蔽器有哪些大功能呢?特信电子手机信号屏蔽器有哪些大功能呢?相信不少人是有疑问的,今天深圳市特信电子有限公司就跟大家解答一下!每年一到考试月,作为考点的学校附近就会变成信号禁区,考场中小小的手机信号屏蔽器怎么会三亚多家农贸市场焕新颜成游客美食打卡点新海南客户端南海网南国都市报3月24日消息(记者利声富)到农贸市场买热带水果,逛出超市的感觉,买到实惠的价格,享受到一站式服务近日,经过升级改造后的三亚多家农贸市场,吸引了不少市民这个春天,露营市场有点凉在试过水之后,就会发现露营装备商才是收获红利的一方。一位曾经的露营地经营者坦言。记者丨吴其芸编辑丨汪乃馨春暖花开,露营重启,然而与去年的火爆相比,今年的露营市场却有些凉意。截至3月蓝思科技跑上智能制造新赛道智能制造在长沙系列报道之三湖南日报新湖南客户端记者李治第七届中国工业大奖日前揭晓。湖南斩获4项大奖,蓝思科技上榜提名奖。2022年,蓝思科技实现营业收入466。94亿元,同比增长3。15营业利润29。63亿中国信通院发布国内手机产品通信特性与技术能力监测报告(2022年第四期)2022年第四季度,我国手机市场中5G手机产品继续呈现稳定发展态势4G手机产品款型数略有回落,4G手机频率特征变化不大,4G手机产品的传输能力等级呈低速率发展搭载Android版本长三角(德清)老字号品牌产业集聚区上海揭牌成立长三角(德清)老字号品牌产业集聚区在上海揭牌成立。姜圣洁摄中新网上海3月24日电(记者陈静)长三角老字号创新合作发展在中国老字号创新合作发展中具有举足轻重的地位。24日,长三角(德基金市场下午会不会跳水今天早盘低开,三大指数都是低开,创业板指低开的幅度最大,低开了0。47,上证指数开盘于3258点。开盘以后小幅度冲高,最高摸至3273点,随后震荡回落至中午收盘,上证指数收于326LV进军高级制表业,将帮助一独立制表品牌复兴界面新闻记者黄姗界面新闻编辑楼婍沁2023年宣布重新回归市场的独立腕表品牌DANIELROTH在近日公布了更多新品细节。在一份媒体声明中,DANIELROTH透露,该品牌重出江湖的邮储银行创新推出结合智能合约数字人民币预付费产品黄河新闻网长治讯近日,中国邮政储蓄银行分别落地电商行业健身行业全国首个结合智能合约的数字人民币预付费产品,标志着邮储银行数字人民币应用在智能合约领域取得新突破,进一步拓宽了数字人民老照片120年前的上海,外滩苏州河南京路,和现在完全不一样人们经常说,一座城市因为有了历史,才显得厚重。历史,是一座城市的记忆,文化是一座城市的命脉。被誉为东方巴黎的上海,钟灵毓秀历史悠久,一百多年前就令世界瞩目。清朝末年,英国摄影师查尔杨千嬅露肩裙上演时尚大片,网友太美了,感觉在看时装秀好内容我来评头条创作挑战赛娱评大赏(此处已添加书籍卡片,请到今日头条客户端查看)以上就是每天给大家分享的娱乐明星写真系列图片集,希望可以帮助到更多爱美的喜欢娱乐明星的兄弟姐妹们。这
谢娜为什么这么招人讨厌?扒一扒讨厌精谢娜这些年做过的恶如果经常看综艺和逛某乎,一定认识芒果台主持人谢娜。特别是在某乎,她的人气很高,当然,不是因为喜欢她的人多,而是因为讨厌她的人太多了。在某乎有一个问题是谢娜为什么这么招人讨厌,有2。HandlerInterceptor处理器拦截器机制全解1拦截器与过滤器处理器拦截器HandlerInterceptor是SpringMVC提供的特性,依赖于SpringMVC框架,而不依赖Servlet容器,Filter则是Servl智能手机成瘾榜德国垫底,美国仅排18,中国排名全球第一文谛林审核子扬校正知秋全球手机市场从功能机时代升级为智能机时代后,智能手机在消费者的日常生活中开始扮演越来越重要的角色。时至今日,智能机已经成为大多数消费者的生活必需品,移动支付以GoWeb编程实战(3)数据类型前言Go语言数据类型包括布尔型数字类型字符串类型复合类型这4种。其中复合类型又分为数组类型切片类型Map类型以及结构体类型。布尔型与其他编程语言一样,Go语言的布尔型只可以是tru靠回收旧衣服撑起的千亿级市场中,小白做到哪些关键点才能赚到钱旧衣服回收这个行业其实存在的时间不算短也不算很长,但是一直都比较冷门,就像一般人根本不知道旧衣服具备回收价值一样。虽然旧衣服回收比较冷门,但是因为我们旧衣服回收起步比较晚,加上现在社保最低缴费15年要延长,是真的吗?有粉丝咨询提问敏哥,听说社保最低缴费15年的政策要变?以后要延长至20年,这是真的吗?敏哥个人意见答复如下(如有不对,以官方为准)您好,您说的社保最低缴费年限应该指的是基本养老保险爱尔眼科,在黄金赛道上价值回归眼看他起朱楼,眼看他宴宾客,眼看他楼塌了。爱尔眼科,黄金赛道上的超级玩家,失去了昔日的辉煌。短短8个月内,股价从高点的72。27,跌落到如今的34。21,跌幅高达52。6。爱尔的投21条有格局的人生哲理语录,值得收藏一生活总有那么多的不如意,可还是要以乐观的心态去坚持,不要总是诉说着自己的悲哀,别人更多的只会当成笑话来听,要学会自己承受。二生活就像发朋友圈,做好自己就可以了,无需强求别人喜欢,有哪些能让人瞬间清醒的句子以前我觉得成绩不重要。清华北大复旦交大,只能代表学生时代的成就。后来我发现,努力是种习惯,它会贯穿终生。2。hr我们总喜欢拿顺其自然来敷衍人生道路上的荆棘坎坷,却很少承认,真正的顺21句适合修身养性的句子,睿智经典一腾不出时间来睡觉的人,迟早会腾出时间来生病腾不出时间来复习的人,迟早会腾出时间来补考腾不出时间来谈恋爱的人,迟早会腾出时间来相亲。二人生苦短,不要把时间浪费在犹豫不决上,喜欢的东人类可能会灭绝的方式全球变暖我们人类在地球上已经繁衍生息了50多万年,经过了漫长而又艰难的进化历程后,毫无疑问,我们人类如今早已站在了食物链的顶端,可以说,我们真正是这颗星球的主人!可是,我们人类就真