问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Oracle Trancation和Mysql InnoDB在Commit的区别

发布网友 发布时间:2022-05-05 08:32

我来回答

1个回答

热心网友 时间:2022-05-05 10:01

首先我们先来说一下Oracle执行COMMIT时要做那些工作:
COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,
在数据库中已经执行了数据更改,所以已经完成了99%的任务,例如:下列操作已经产生:
1.在SGA(Buffer Cache)中已经生成了undo块;
2.在SGA(Buffer Cache)中已经生成了产生改变的数据块和索引块;
3.在REDO LOG BUFFER生成了前面两项的redo信息;
4.依赖于前三项产生的数据量大小以及操作需要的时间,buffer中的数据可能已经
有一部分输出到了磁盘;
5.所有需要的锁已经获得;
当执行COMMIT命令时,只执行如下操作:
1.为事务生成SCN:SCN是ORACLE数据库的一种计时信息,用以保证事务的顺序性,
同时还用于失败恢复和保证数据库的读一致性和检查点,无论何时何人提交,SCN
自动加1;
2.将事务相关的未写入redo log file中的redo信息从redo log buffer写入到redo log
file,这才是真实的COMMIT,这步操作完成,说明我们已经完成COMMIT,事务从
V$TRANSACTION中移除;
3.V$LOCK中记录的SESSION关于该事务的锁会释放,其他需要这些锁的事务被唤醒;
4.执行块清理,清理块头保存的事务信息;
然后我们来看一下MySQL:
InnoDB 每次提交事务会刷新日志innodb_log到磁盘,而磁盘的速度,因此,建议不要频繁提交事务
以上大致的描述了一下Oracle和MySQL在处理Commit时的区别,从这几句话很明显的可以看出,Oracle不愧为一个商业关系型数据库,在trancation方面做得非常到位,他的这种机制很大程度保障了恢复和高并发的需要
反观MySQL InnoDB,在这方面就比较逊色,在高压下甚至还会造成事务的丢失等不稳定事件的发生
今天在这里只是简单的对比一下2个数据库在commit方面所做的事情,以后的篇章我将会从2个数据库本身的事务设计原理出发,来为大家进行分析
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
css布局绝对定位和相对定位疑惑? 湖北对口单招有哪些大学 湖北单招最好考的学校有哪些 玻璃隔断吗 《八佰》中的南岸刀子,《药神》中的沉默黄毛 有哪些适合新手养的蛇品种推荐? 新手喂养什么宠物蛇比较好? 色叔叔茜色是什么色 仓鼠上窜下跳一直不停,是什么原因? 禽医静心谈鸭黄病毒的主要症状有哪些?鸭子得了黄病毒怎么治疗? 求助!如何将Excel中建立的图表插入到指定区域? 手机锁定sim卡 手机卡如何绑定固定电话 固定电话卡为什么在手机上不能用 手机已被固定SIM卡锁定 sim卡如何绑定手机?如设置只能用固定的一张sim卡? P2P跟P2C是什么 P2C和p2p是什么关系呢? 如何使用蚊香 陨石和陨铁一样吗? 陨星只有陨石和陨铁吗? 陨石和陨铁有什么不同 石头和陨石有何区别? 怎么区分铁矿和陨石 陨石和陨铁哪个更神奇 李佳芮名字的含义 大家感觉这三个女性的名字:张佳琪、褚妍、马媛媛、周芳 哪个更好听一些? 帮忙起个名字? 帮忙写首名字藏头诗,把漂亮性格开朗热情写出来,*也可以。。主题是:张佳琪,最后带个美或娇。谢谢 2014年正月16女孩7点 58分。姓张。求起名 广东省佛山县级公务员分数 说的日文怎么写 怎样才能快速学会说日语? 为什么日本人会说日语? 怎样才能学会说日语? 那些国家是说日语的? 除了日本 世界上除了日本还有那些国家说日语,谢谢 新手如何学会说日语 怎么说好日语 都有哪些国家说日语? 在中国说日语会不会被打? 怎么用中文说日语 兔子,篮子,蔬菜,漂亮,可爱,土豆,和蔼,胶水,伞分别的英语单词怎么写? 用汉语说日语 说日语的内容提要: 你会说日语吗?用日语怎么说,音译一下 用中文谐音说日语 IntelliJ IDEA 用来开发Android,免费版够用吗?有必要去用商业版吗? 海尔淋浴器Ec6002MGu1用了抑菌功能后,温度就高了,怎么回事? IntellJ Idea 特性和与Eclipse的区别