欢迎来到陕西招聘网!我们不定时为陕西求职者免费发布西安、宝鸡、咸阳、 铜川、渭南、 延安、榆林、汉中、安康、商洛等陕西各地岗位招聘信息,帮助求职者找到心仪的工作。
2022-04-21 13:38:17 来源:陕西招聘网
【导读】陕西人才招聘网:面试官问我谈谈对事务隔离机制的理解?相信大家对此问题都不太了解,现在陕西人才招聘网给大家带来了详情解析,让我们一起来看看吧。
一、简介事务隔离,是每场高级开发面试过程中,必不可少的一个环节,记得有一次面试某公司,面试官当场提出这个问题,因为没有充足的准备,所以结果可想而知!
今天我们就一起来捋一捋关于事务隔离机制的原理,以便后期再碰到这种问题的时候,自己也有所准备!
好了,废话不多了BB了,阿粉直接带你上车!
说到事务,相信你一定不会陌生,在与数据库打交道的时候,我们总是会用到它。
以转账为例,你要给朋友小张转账 100 元,而此时的银行卡余额至少要有 100元。在转账过程中,程序会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的。
不然等程序查完之后,还没做扣减余额之前,你这 100 块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果程序真的这么搞,银行不血亏才怪!
在整个程序更新数据过程中,这时就要用到“事务”这个概念了。
简单的说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败!
以 MySQL 为例,事务支持是在引擎层实现的,可能你知道,MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务,比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。
下面将会以 InnoDB 为例,剖析 MySQL 在事务支持方面的特定实现,希望通过这些案例能加深你对 MySQL 事务原理的理解!
二、事务隔离机制介绍提到事务,大家会不由自主的想到 ACID (Atomicity、Consistency、Isolation、Durability)四大特性,即:原子性、一致性、隔离性、持久性。
原子性、一致性很好理解,就是上文说道的,要么全部成功,要么全部失败;持久性,也好理解,当数据发生变化时,能将最新的结果记录到磁盘中永久保存;而隔离性,有点复杂,简单的说,就是将事务彼此之间隔离开,当多个事务在同时处理一个数据时,彼此之间互相不影响。
如果隔离的不够好,就有可能会产生脏读、不可重复度、幻读等读现象。
为此,隔离性总共分为四种级别:由低到高依次为 Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读等这几类问题。
read uncommitted:俗称读未提交,指的是一个事务还没提交时,它做的变更就能被别的事务看到。
Read committed:俗称读提交,指的是一个事务提交之后,它做的变更才会被其他事务看到。
Repeatable read:俗称可重复读,指的是一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的,同时当其他事务在未提交时,变更是不可见的。
Serializable:俗称串行化,顾名思义就是对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。
【结尾】上文就是关于陕西人才招聘网:面试官问我谈谈对事务隔离机制的理解内容介绍,了解更多关于陕西求职信息,咸阳找工作平台,陕西兼职招聘,敬请关注陕西人才招聘网https://www.sxrczp.net/
原标题:陕西人才招聘网:面试官问我谈谈对事务隔离机制的理解?
文章链接:https://www.sxrczp.net/show-3981-8869-1.html
本网注明信息来源为其他媒体的稿件均为转载体,免费转载出于非商业性学习的目的,版权归原作者所有,如有内容与版权问题等请与本站联系。
就业指导群
人才网公众号
陕西就业指导交流群,
专业老师在线就业指导,特色岗位一键匹配
扫码下载APP
扫码进小程序
服务信息
联系电话: 02987879230 杨老师
服务时间:08:00-18:00
Copyright 2012-2022 陕西招聘网 All Rights Reserved
详细地址:江西省南昌市青山湖区高新大道万象汇9号楼7楼
360行任你挑选
分秒必争直达HR
谁看我简历早知道
请使用微信【扫一扫】
关注「易职邦人才招聘网」公众号完成登录
客服电话:400-765-0056
竭诚为您服务
服务时间08:00-24:00
微信小程序
面试通知
收藏
简历
足迹
微信求职
关注公众号
掌握最新求职动态
小程序
进入小程序
随时随地找工作