zoukankan      html  css  js  c++  java
  • Server Process

    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。
  • 相关阅读:
    SpringAOP--动态数据源
    SpringAOP--代理
    SpringAOP--aop使用
    Kafka03--Kafka消费者使用方式
    Kafka02--Kafka生产者简要原理
    Kafka01--Kafka生产者使用方式
    SpringBoot中的日志使用:
    LCS&&LRC&&LIS问题
    解决Idea.exe无法启动问题(idea2017.3版本)
    七牛云简单实用-uploadManager.put(..)抛出异常
  • 原文地址:https://www.cnblogs.com/llguanli/p/6736794.html
Copyright © 2011-2022 走看看