最新要闻
- 总台专访丨新任突尼斯驻叙大使:阿盟国家反对外部干涉 赞赏中国促和努力
- 2022单身戒指十大品牌排行榜_单身戒指哪个牌子好-全球关注
- 【天天聚看点】【国际漫评】戏精
- 每日动态!别人都考完了 为啥浙江高考考四天?看这表就知道了
- 亚洲最大地下综合交通枢纽建设取得新进展 最深处可达43米
- 首批国产榴莲预计将在本月上市 “水果之王”或迎来大降价
- 河南郑州发现3岁男孩患全球仅34例象鼻病 严重需借助于呼吸机才能维持生命
- 安徽一男子因酒驾被暂扣驾驶证 考四次科目一后拿驾照当天再次酒驾
- *ST京蓝:公司股票交易被叠加实施其他风险警示
- 美国发布厄尔尼诺警报 专家认为明年全球平均气温或创新高
- 垃圾桶分类有哪几种?垃圾桶尺寸规格是多少?
- 栉怎么读?栉风沐雨是什么意思?
- 文博日历丨看一部跨越千年的“巨幕电影”
- 锦旗多少钱一副?锦旗尺寸大小多少合适?
- 十一法定节假日是几天?十一法定节假日高速是否免费?
- 门框的拼音怎么读?门框的尺寸一般是多少?
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
今日播报!数据库事务隔离级别
【资料图】
标准隔离级别
读未提交、读已提交、可重复读、串行化串行化
对事务中所有读写的数据加上读锁、写锁、范围锁。所以冲突的事务必须同步执行。//console1start transaction ;select * from transaction_test where `key`=1;update transaction_test set name="newTest" where `key`=1;//console2start transaction ;select * from transaction_test where `key`=1;(由于事务1没有释放写锁,所以这里的查询会阻塞如果等待时间过长,会报如下的错误;如果事务1只是查询,那么事务2也可以查询)[40001][1205] Lock wait timeout exceeded; try restarting transaction//console1commit ;(提交完之后如果事务2没有等待超时,那么会立即执行)//console2;commit ;
可重复读
核心是只对事务中所有读写的数据加上读锁、写锁,不加范围锁。相比于读已提交,由于对整个事务都加上了读锁,避免其他事务可以进行更新,进而保证同一个事务多次读到的数据都是没有被修改过的数据。----避免可重复读----name初始值为init//console1start transaction ;select * from transaction_test where `key`=1;(查询结果是init)//console2start transaction ;update transaction_test set name="test" where `key`=1;(理论上,由于事务1已经获取了读锁,事务2这里添加写锁应该是添加不上的,应该是阻塞中才对;但是,实操发现,执行成功了,且在事务2中通过下面这个语句查询是test,这应该也是mvcc导致的select * from transaction_test where `key`=1;//console1select * from transaction_test where `key`=1;console1的第2次查询,查询结果和第一次一样,还是init另外,事务2都获得写锁了,怎么能允许你事务1再去获得读锁commit ;//console2commit ;相比于串行化,由于没有加范围锁,会引发一种叫幻读的情况所谓幻读是指在同一个事务中,第一次查询id<10的假定有1条,第二次查询可能会有2条,原因是在两次查询的中间,存在别的事务插入或者删除了数据,由于事务A只加了读锁或者写锁,只能防止其他事务对已经加锁的这几条数据进行修改,但避免不了插入和删除,所以才会出现这个问题。
----幻读----初始是1,name//console1start transaction ;select * from transaction_test where `key`<10;//console2start transaction ;insert into transaction_test ( `key`,`name`) value (3,"newddd");select * from transaction_test where `key`<10;commit;//console1select * from transaction_test where `key`<10;理论上来讲,这个地方应该会查到三条,但是实操发现,在事务2添加并提交之后,事务1查到了依然是原来的样子commit ;select * from transaction_test where `key`<10;(提交之后再次查询就有新结果了)
读已提交
核心是对事务中需要更新的操作行加写锁,直到事务结束,但对查询的操作行加读锁,但在查询完之后立即释放,即不是在整个事务范围锁定。读已提交通过对查询操作加锁来避免读未提交,在事务B修改数据时因为其在事务结束之前一直持有写锁,事务A无法对数据加读锁,只能等待事务B提交事务才可以读取,这也是读已提交的名称的由来。虽然解决了读未提交的问题,但是由于只在查询的时候短暂加了写锁,引发了另一个不可重复读的问题;所谓不可重复读是指在同一个事务中,对于同样一条数据的两次查询结果不一样,那么这个和幻读有什么区别呢?幻读整个事务中都存在读锁或者写锁,其他事务无法修改,只能增删;但是不可重复读,则是指当前已经查到的结果被更新了。原因是假如同一个事务两次查询中间,别的事务进行了修改,由于事务A没有加整个事务范围的读锁,所以事务B是可以成功获取写锁的,进而修改数据,最终导致了不可重复读。---避免读未提交----name初始值是init//console1start transaction ;select * from transaction_test where `key`=1;update transaction_test set name="test" where `key`=1;//console2start transaction ;select * from transaction_test where `key`=1;(由于读不到未提交的,所以肯定获取不到修改后的test值,理论上只能等待事务1结束)这个地方由于事务1已经添加了写锁,原则上事务2根本查询不了,应该阻塞,就像串行化那里一样但是实际结果却是可以查到以前的值,即init;所以这里应该是mvcc的作用在读已提交的级别下,mvcc机制总是取最新的版本即可,即最近被 Commit 的那个版本的数据记录。这样保证了读到的都是已提交的事务,且保留了幻读问题最新版本的快照读,不是当前读//console1commit;//提交之后,事务2再次查询,发现已经可以获取到改动后的值了,即test---不可重复读----name初始值是init//console1start transaction ;select * from transaction_test where `key`=1;(第一次查询是init)//console2start transaction ;update transaction_test set name="test" where `key`=1;(在事务2中更新并提交)commit ;//console1select * from transaction_test where `key`=1;(第二次查询是test)commit ;
读未提交
核心是对事务中需要更新的操作行加写锁,直到事务结束,但对查询的操作行不加锁。引发的问题是脏读,其实就是读到了其他事务还没有提交的数据;那么为什么事务A可以读到事务B还没有提交的数据?分为两步理解:1.为什么存在可以读的新的数据?核心原因应该是write-ahead logging的设计。即上一章提到的允许在事务提交之前提前写入数据,理论上肯定是写到了内存中,并且记录到undolog里面,虽然还不太情况事务的提交真正干了什么操作,但目前来,在内存是可以读到已经修改好的数据。2.为什么可以读到已经加了写锁的数据原因是读未提交读取数据是不加读锁的,而写锁只能防止其他事物不能加读锁和写锁,而不能防止没有锁 也可以看一下这篇博客的解释show variables like "transaction%";set global transaction isolation level read uncommitted ;//设置完之后要重新登录CREATE TABLE `transaction_test` (`key` int(11),`name` varchar(10) DEFAULT NULL) ENGINE=InnoDB;---read uncommitted---读未提交//console1start transaction ;insert into transaction_test value (1,"test");//console2start transaction ;select * from transaction_test where `key`=1; (查询结果为1,test)//console1commit ;//console2commit;两个事务都是写事务,晚开启的事务更新会阻塞//console1start transaction ;update transaction_test set name="newTest" where `key`=1;//console2start transaction ;update transaction_test set name="Test" where `key`=1;(会阻塞,一直在执行中)//console1commit ;(在事务1提交成功后,事务2的更新立马就成功了)//console2commit;参考资料:12 | 本地事务如何实现隔离性?-极客时间03 | 事务隔离:为什么你改了我还看不见?-极客时间读未提交-为什么事务没提交就可以读到别人修改的数据 - 秦一居 - 博客园
关键词:
今日播报!数据库事务隔离级别
总台专访丨新任突尼斯驻叙大使:阿盟国家反对外部干涉 赞赏中国促和努力
2022单身戒指十大品牌排行榜_单身戒指哪个牌子好-全球关注
【天天聚看点】【国际漫评】戏精
每日动态!别人都考完了 为啥浙江高考考四天?看这表就知道了
亚洲最大地下综合交通枢纽建设取得新进展 最深处可达43米
首批国产榴莲预计将在本月上市 “水果之王”或迎来大降价
河南郑州发现3岁男孩患全球仅34例象鼻病 严重需借助于呼吸机才能维持生命
安徽一男子因酒驾被暂扣驾驶证 考四次科目一后拿驾照当天再次酒驾
*ST京蓝:公司股票交易被叠加实施其他风险警示
美国发布厄尔尼诺警报 专家认为明年全球平均气温或创新高
垃圾桶分类有哪几种?垃圾桶尺寸规格是多少?
栉怎么读?栉风沐雨是什么意思?
文博日历丨看一部跨越千年的“巨幕电影”
锦旗多少钱一副?锦旗尺寸大小多少合适?
十一法定节假日是几天?十一法定节假日高速是否免费?
文心一言 VS 讯飞星火 VS chatgpt (36)-- 算法导论5.3 6题 环球聚看点
门框的拼音怎么读?门框的尺寸一般是多少?
世界快报:“世界认可日”江苏主题活动启动——看江苏如何借认证检测之力,赋能产业升级?
遥感监测显示:九寨沟震后全域植被逐渐恢复 环球微头条
中金湖北科投光谷REIT正式成立|全球观点
百度:第三代昆仑芯明年初规模上市 大模型算力不成问题|环球热点评
第四大运营商发力:中国广电5G全面铺开
世界微头条丨3岁男孩患象鼻病全球仅34例:医生科普“象鼻宝宝”有多可怕
能实现“榴莲自由”吗?首批国产榴莲预计本月上市 世界快播
株洲石峰区:展示巾帼风采 秋瑾女子民兵排开展集训
当前观察:Web安全-渗透测试-基础知识06
油石比怎么算沥青含量_油石比计算沥青用量|天天要闻
每日焦点!湖北6月25日左右发布高考成绩 广大考生请认准权威渠道
中国巨石(600176.SH):拟参与中复连众与中材叶片整合|世界今热点
全球热消息:木瓜鉴赏:投我以木瓜,报之以琼琚
Uzi就差官宣了?EDG海报空个位置引热议 网友:无字暗示乌兹 世界热资讯
全球短讯!这外观如何?新款宝马X5L来了!动力更强 预计9月正式投产
摩尔线程国产游戏显卡正式支持OpenGL 4.0!曲面细分 效果惊艳
全球新消息丨环卫母亲与高考儿子相拥而泣:画面朴素到网友动容!
环球快看点丨美国一客机紧急疏散乘客 原因大跌眼镜:客舱内有飞蛾
全省用户都打不出电话?广东电信紧急回应_今日要闻
上海数据交易所数商服务平台上线
国网长春供电公司开展老旧表箱电源安全隐患排查整治工作
债市日报:6月9日 全球要闻
环球资讯:哈尔斯:人民币贬值有利于出口,会为公司经营带来积极影响
今日热搜:米哈游《原神》后又一力作!《崩坏:星穹铁道》官宣登陆PS5
天天信息:华为中原区域总部落户郑州:十四层高楼
哥哥穿旗袍接妹妹发现跑错考点:女孩被成功逗笑 天天短讯
不预售、不等待 天天都是618价格!拼多多百亿补贴推“数码家电消费季”|焦点速递
AI大模型用鲁迅风写高考作文 大家来品品能打多少分
洛阳钼业:拟向参股公司CBC INVESTMENT增资不超3399.66万美元-全球热推荐
Vscode控制台乱码的最终解决方案
杭州一消防站门口出现千元外卖,这位“张女士”,消防员有话对您说
即时:NBA国际球员最强阵容:姚明恩比德难进首发,东契奇只能打第六人
深交所制定服务国有、民营上市公司两个专项工作方案 前沿热点
天天播报:win7桌面壁纸怎么设置自定义图片_win7桌面壁纸怎么设置
1999元 AOC推出新款27寸显示器:2K分辨率、四面微边设计
6岁女孩误吞口香糖后灵魂发问 不用担心:少量不会黏住肠道_天天热门
通吃G-Sync/FreeSync!LG发布新款4K 144Hz电竞显示器:IPS硬屏
知道为啥你的二手闲置卖不出去么?我教你
今日关注:DDR5内存超到11254MHz 居然不用液氮!但超高延迟没法看
天天快资讯:湖北今日这一地创今年气温新高!明后天晴热持续
Java对象中转换空值的字段 今日观点
世界报道:Web安全-渗透测试-基础知识05
当前观察:这就是信心|优化营商环境 各地硬招、实招频出
漫评美国通货膨胀:“陷入困境”
快看:女孩出考场接受采访:与母亲同框被路人误认为姐妹
近视用户不得不戴!Vision Pro配套镜片售价或超2000元
每日观察!性能媲美同档台式机!小米迷你主机限时打折:高考生到手2849元起
精彩看点:曾以“上四休三”上热搜:长沙一公司取消了所有的调休
高考结束后亲友团横幅有点大胆:可以谈恋爱啦 环球快播
别着急摆烂,看看你到底值多少钱? 全球热资讯
18-状态机_环球滚动
CCSP2019T2_纸牌计数 | 2019苏州CCSP大学生计算机系统与程序设计竞赛
天天热讯:生态 | Eolink x 火线安全,构建高效安全的一体化研测管理体系
Java 集合框架体系简介
【财经分析】绿色低碳转型亟需新动力 中国转型类债券市场蓄势待发 天天新资讯
环球观热点:不含SMR好评 希捷22TB NAS专用硬盘开卖:只要4200多
酷派大观50s现身电信产品库:天玑700 720P分辨率
全球观察:新能源车越卖越亏?广汽董事长曾庆洪:钱让外国朋友赚了
时隔22年 微软发布WinXP蓝天白云壁纸4K高清版:免费下载
浅谈这些年如何被MDK, IAR, GCC和厂家SDK版本兼容性“蹂躏”, 一代版本一代坑|世界头条
热点聚焦:java-基础安装-基础
环球视讯!数据的图像化之旅:探索GIS与可视化的无限可能
【独家】百度人脸识别_SpringBoot整合离线SDK
天天热讯:UDS统一诊断服务
【新华500】新华500指数(989001)9日涨0.45%
iQOO杀疯了!1TB UFS 4.0闪存只要3699元:同档位绝无仅有 环球视点
迪士尼被曝大量低价团购票无法入园 平台回应:旅行社操作失误 全球信息
5.8英寸塞进骁龙8 Gne2!小屏旗舰华硕Zenfone 10海外官宣
余承东同款座驾!AITO问界M5智驾版下周开启交付
保时捷发布史上最有科技感纯电超跑Mission X:动力超过1000匹 极速320公里/小时_消息
今日关注:17-呼吸灯
华为云 UCS GitOps:轻松交付多集群云原生应用
全球速看:OPEN AI 全新版本来了2.0.0永久免费在线体验构建AI开放生态
Angular4 教程_编程入门自学教程_菜鸟教程-免费教程分享
虚拟列表
马斯克嘲讽苹果AR头显:花3500美元买它 不如20美元买包致幻菇_全球看热讯
天天讯息:浓烟下的美国:N95口罩销量猛增逾10倍、中国产空气净化器大卖
环球时讯:16GB/32GB内存笔记本对比实测:16GB不够用了
讯飞星火认知大模型V1.5正式发布:知识问答突破 可以告别搜索了-环球百事通
2023年底更多极端天气来袭 美国警告厄尔尼诺已形成-世界热门
快资讯:特朗普因机密文件案被起诉 将于下星期出庭
车载雷达报警测试要点