none
事务日志? RRS feed

  • 问题

  • M们:

          当执行一个事务的时候,是不是完成一个事务之后才将整个事务的DML写入日志,

    或者

          在事务执行过程中,在更新内存中数据文件的一行之前先写入日志,然后更新内存中的数据文件,事务提交后

    吧更新写到磁盘。


    此去千万里,岁月忽已晚!
    2010年10月12日 0:20

答案

  • 数据修改不是直接在磁盘上进行,而是修改高速缓冲存储器中的页副本。直到数据库中出现检查点,或者必须将修改写入磁盘才能使用缓冲区来容纳新页时,才将修改写入磁盘。
    对缓冲区中的页进行修改时,将在记录修改的日志高速缓存中生成一条日志记录。在将关联的脏页从高速缓冲存储器刷新到磁盘之前,必须将这条日志记录写入磁盘。
    2010年10月12日 1:03
    版主
  • 原来,连日志文件也是现在内存中修改再刷新到磁盘的!

    thank you!


    此去千万里,岁月忽已晚!

    日志是在内存中生成,不是修改
    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年10月12日 9:49
    版主

全部回复

  • 数据修改不是直接在磁盘上进行,而是修改高速缓冲存储器中的页副本。直到数据库中出现检查点,或者必须将修改写入磁盘才能使用缓冲区来容纳新页时,才将修改写入磁盘。
    对缓冲区中的页进行修改时,将在记录修改的日志高速缓存中生成一条日志记录。在将关联的脏页从高速缓冲存储器刷新到磁盘之前,必须将这条日志记录写入磁盘。
    2010年10月12日 1:03
    版主
  • 日志记录确实是在提交事务时写入磁盘的。
    2010年10月12日 1:04
    版主
  • 原来,连日志文件也是现在内存中修改再刷新到磁盘的!

    thank you!


    此去千万里,岁月忽已晚!
    2010年10月12日 2:23
  • 日志记录确实是在提交事务时写入磁盘的。
    之前就会写入磁盘,并不是只在提交时
    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年10月12日 3:25
    版主
  • 原来,连日志文件也是现在内存中修改再刷新到磁盘的!

    thank you!


    此去千万里,岁月忽已晚!

    日志是在内存中生成,不是修改
    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年10月12日 9:49
    版主