设为首页 加入收藏

TOP

ServerProcess
2015-07-24 11:04:51 来源: 作者: 【 】 浏览:1
Tags:ServerProcess

1.client进行update操作后,其他是怎么协作的?

Client进行update操作之后,是由Server Process真正完成的,分下面几步:

1).需要更新的数据在Data buffer cache中直接更新该数据,如果需要更新的数据不在Data buffer cache中则先到Data files中把数据加载到Data buffer cache中再进行更新;

2).进行更新操作时需要对数据进行加锁;

3).把更新日志写入Redo log buffer;

4).再到Data buffer cache中写数据;

2.为什么要先到Redo log buffer中写更新日志再到Data buffer cache中写数据?

数据库的高可靠性与Redo log buffer有关。对数据库的所有操作都会记录日志,这样会放置数据丢失。因为写Redo log buffer特别快,一旦出现在写Data buffer cache断电情况下,数据库重启之后会根据Redo log buffer中的日志恢复到断电前状态继续写Data buffer cache数据。

3.Commit Processing操作介绍。

Commit Processing操作共分以下4部分:

1).Server Process通知Redo log buffer需要进行Commit操作;

2).LGWR把Redo log buffer中的内容刷新到Redo log files中;

3).Server Process通知User Process以完成commit操作;

4).Server Process释放数据锁;

4.auto commit会接收到一条数据进行一次commit操作,效率很低,并且会破坏事务的完整性,可能会出现数据丢失,不建议使用,最好是手工commit。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇执行计划中cost计算方法 下一篇SQL高级(4)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)