zoukankan      html  css  js  c++  java
  • mysql事务_34

    redo组成

    redo log buffer

    --innodb_log_buffer

    通畅8M已经足够使用

    redo log file

    --innodb_log_file_size

    --innodb_log_files_in_group

    --innodb_log_group_home_dir

    和数据文件分开

    选择更快的磁盘

    redo llog buffer

    由log block 组成

    每个log block 512kB

    no need doublewrite

    redo log buffer刷新

    master thread 每秒进行刷新

    redo log buffer使用大于1/2进行刷新

    事务提交时进行刷新

    innodb_flush_log_at_trx_commit =  0 1 2

    顺序写

    ib_logfile1写满 重新写ib_logfile0 没有归档

    innodb_flush_log_at_trx_commit =  0:事务提交时不将redo log buffer写入磁盘 最多丢失1秒的事务

    1 提交时将redo log buffer写入磁盘

    2 事务提交时仅将redo log buffer写入操作系统缓存

    哪种性能最好?

    inndb_flush_log_at_trx_commit=2是否会导致事务丢失?

    innodb_flush_log_at_timeout(5.6才有的参数)master thread 秒N秒进行刷新

    组提交:

    一次fsync刷新多个事务

    性能提高10~100多倍

    sysbench update_non_index.lua

    开启binlog后组提交失败

    mariadb5.5解决

    mysql5.6解决

    写入密集型应用

    mysql5.5raid bbu

    不在乎数据一致性可考虑innodb_flush_log_at_trx=2

    redo日志分类

    物理日志:记录整个页的变化(diff)

    逻辑日志:like sql语句

    物理逻辑日志:根据页进行记录,内容逻辑

     doublewrite与redo的关系

    redo 与binlog的区别

    show master status

     show binlog events in  '';

    flush binary logs/flush logs

    query类型的event 就是ddl

     5.7 binlog设置row格式 可以看到sql语句,怎么看?

  • 相关阅读:
    散列表
    5月19日
    5月17日阅读笔记3
    5月15日 阅读笔记2
    5月14日 阅读笔记1
    团队5
    团队博客2
    团队博客4
    团队博客3
    团队博客1
  • 原文地址:https://www.cnblogs.com/lvjinping/p/9637135.html
Copyright © 2011-2022 走看看