专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

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

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

美媒科学家发现臭氧层空洞或与极光有关据美国太空网站23日报道,极光在夜空上演壮观的灯光秀,但它们也为臭氧层逐渐遭到蚕食的现状给出了另一个解释。报道称,臭氧层的大部分损耗都应归咎于人类,不过科研人员在观察了一种被称为孤回顾人类利用能量的方式,从钻木取火到电能,未来可能会升级本周周末聊我们要聊点大的,天马行空的,回顾人类对能量的利用,看未来地球人可能的科技进化方向。说到能量这东东,比较看不见,但是宇宙万物运行,世间万象变化都离不开能量,能量在这其中转化西部变天!摆烂队轰下三连胜,锡安莺歌伤退,迈克勒姆空砍2812NBA常规赛继续进行,西部迎来一场焦点战,鹈鹕对阵爵士。之所以说焦点,是这两支球队展现的强劲势头。爵士用戈贝尔换来10个筹码,用米切尔换来8个筹码。在安吉上任爵士总经理后,大刀阔斧共享经济背景下普洱咖啡庄园游的创新性研究作者黎丹妮朱正虎摘要本文从普洱咖啡旅游发展现状咖啡旅游庄园旅游和咖啡庄园游发展的作用,分析制约咖啡庄园发展因素,对咖啡庄园游从共享主体约束条件核心功能及其外延等进行思考,并提出共享海南万宁兴隆咖啡老品牌里的新味道中新社海南万宁10月22日电题海南万宁兴隆咖啡老品牌里的新味道中新社记者符宇群在海南省万宁市南桥镇苗村新坡村,近来悄然新开了一间兴隆咖啡馆。约200平方米的咖啡馆,售卖兴隆咖啡以及周继红给中国跳水队世界杯表现打8。5分新华社柏林10月23日电(记者刘旸)中国跳水队领队周继红23日接受记者采访时表示,跳水世界杯期间,中国队在参赛的8个项目包揽全部金牌,在克服一系列困难情况下拼出这样的成绩值得点赞,海带的健康功效是什么?它能防癌治癌吗?怎样用才安全有效?有朋友问我这个海带可不可以抗癌?那么海带到底能不能抗癌。如果他能看来它里面的作用机制是什么,那么我们应该怎么样正确使用海带?今天就聊一聊海带的那些事。说到海带啊,我就想起我们吃海带枸杞补肾?谁都适用?httpsmp。weixin。qq。comsexc8ktTfRiseOa7xPUWQ原创微信公众号二哥2014a收录于合集药食同源48个枸杞味苦寒,主五内邪气,热中,消渴,周痹久服买精华时,建议囤这4款,虽然价格不贵但效果好,功效肤感都在线赶在电商大促期间入手哪些护肤品更合适?大促期间护肤品的价格会有大幅下降,在这个时间段内囤一些常用实用的护肤品还是非常有必要的。那么值得囤货的护肤品有哪些呢?首先是平时必备的,像是补河北邯郸邢台合并是伪命题,同城发展更贴近实际在京广高铁穿越河北境内,京广高铁线上的城镇十分密集,而且各城市城区之间离得非常近,其中河北南部的邯郸以及邢台尤为明显。实际上邯郸和邢台在各自扩区后,市区已经连成一体,两市核心市区也文在寅十年卧薪尝胆,一朝报仇雪恨在韩国政界,卢武铉与文在寅是无人不知的至交好友,2009年卢武铉在舆论攻击下自杀,文在寅8年后上任总统,雷厉风行将卢武铉之后的两任总统逮捕,同时大力推行卢武铉所倡导的改革,在卢武铉
没有产业支撑的小县城,房价6000多元,这是什么现象?农村男女青年婚嫁组建新的家庭,在县城拥有一套房子,已经形成了一种趋势,从客观上促使房价上涨。还有一些农村老人,带孙子辈进城上学,购房或者租房,也已经成为比较普遍的现象。青壮年劳动力没钱的银行卡,如果不注销,多年后会欠银行钱吗?没钱的银行卡,如果不注销,多年以后是否会欠银行的钱,取决于你这张银行卡是否收小额管理费用,是否收短信费用,下面我们就这两种情况来分析一下第一你的银行卡不收任何费用如果你的银行卡在日你认为沈阳沈北新区与浑南区哪个更适合居住?这几年总是谈浑南沈北,热度挺高的,这个问题太大,浑南有棋盘山,东湖,奥体,全运等板块。沈北有道义,虎石台,辉山一些板块。请问提问者和网友们怎么回答才好呢?本人整个浑南区域几乎走遍,由于房价下跌,很多工地都停工了,搞建筑的农民工的收入怎么办?房价下跌,工地停工,搞建筑的农民工的收入就没有了。近期,房价限跌令和限涨令同时出现,跌可以跌,但是不能瞎跌,跌幅要在15以内,江阴,岳阳,昆明唐山沈阳等地房价限跌涨可以涨,但是不能亲戚看中了一套房首付32万,找我家借30万,该怎么办?还有两万也一并代劳,只是有一条房产证必须写你的名字,想改名字,先还钱。这是你买房还是你亲戚买房?既然他借这么多不如你去付个首付,自己买套得了。捂脸人呐!有多大能力办多大事儿。你要说有人说,天下无不是的父母是世界上最大的谎言!你怎么看?父母一词固然伟大,但是人人都有可能为人父母,所以天下父母参差不齐,不仁不义的父母比比皆是,天下无不是的父母一句往往就是道德绑架的护身符旧俗。子不言父过。说白了封建思想残留,父为子纲做父母的退休以后,要不要跟随在外地的独生子女一起居住生活?我姑娘在深圳安家15年了,有两个外孙,我是2010年退休的,自退休后,每年不是姑娘带着全家回湖北,就是我们抽空去深圳小住十天半月,最长的一次就是去年春节,因特殊原因和姑娘一家4口共太原忻州晋中和大同哪个最适合养老?这个问题该怎么回答,养老还有选择的吗?对大多数人而言,没钱只能在当地养老,对于有钱人来说,养老都去南方沿海了,肯定也不会选择这四个城市吧。就这四个城市来说,太原作为养老来讲,冬天雾在小公司做淘宝运营,我应该坚持吗?大家好,我是淘宝美工老申。你的确是一个新手,遇到现在这样的工作局面,你是幸运的,但你在这个公司,可能没前途,也有可能做不了多久就倒闭了。第一你什么也不懂,老板在无奈的试错,这是最好怎么理解父母常说的不要跟人家比吃穿,要比就比成绩?谢谢邀请!我记得从小我父母就是这样说的!这看似平常一句话却含有很深的教育意义。从古至今我中华民族都受儒家传统文化教育的传统思想教育影响。做为父母的人都希望自已儿成龙,女成凤。这句话北京湿地公园哪个最美?有何推荐?在北京生活最大的好处,就是我们周边有很多的湿地美景,节假日里,陪着家人去公园走走,来一次露餐,放一放风筝,呼吸一下新鲜空气。。这里汇总了北京的湿地公园,各具特色,挑着去逛就好了!汉
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网