MySQL存储引擎 innodb_flush_log_at_trx_commit, sync_binlog,(双一标准+刷写策略)Innodb_flush_method
一、innodb_flush_log_at_trx_commit (存储引擎层 innodb特有)
--查看参数
select @@innodb_flush_log_at_trx_commit;
innodb_flush_log_at_trx_commit=0 表示当事务提交时,不做日志写入操作,而是每秒钟将log buffer中的数据写入文件系统缓存并且秒fsync磁盘一次;
innodb_flush_log_at_trx_commit=1 每次事物的提交都会引起日志文件写入、flush磁盘的操作,确保了事务的ACID;flush 到操作系统的文件系统缓存 fsync到物理磁盘.(默认)
innodb_flush_log_at_trx_commit=2 每次事务提交引起写入文件系统缓存,但每秒钟完成一次fsync磁盘操作。
二、sync_binlog ( Server 层 日志指 bin_log 二进制日志 保证数据恢复 主从)
该参数表示事务写入 binary log 并同步到磁盘的过程。
取值为0:存储引擎不进行binlog的刷新到磁盘,而由操作系统的文件系统控制缓存刷新。性能最佳(默认)
取值为1:每次事务提交后存储引擎调用文件系统的sync操作进行一次缓存的刷新,是最慢的,但是最安全
取值 =n:当进行n次事务提交后,存储引擎调用文件系统的sync操作进行一次缓存的刷新。
三、Innodb_flush_method(存储引擎层 innodb特有 刷写策略 日志指redo日志 突然发生意外 及时回滚数据 恢复内存中的脏页 )
page buffer刷写通过Innodb_flush_method控制
Innodb_flush_method=fsync 日志和数据缓冲区写磁盘,都走OS buffer(默认)
Innodb_flush_method=O_DIRECT 数据缓冲区写磁盘,不走OS buffer 日志走os buffer
Innodb_flush_method=O_DSYNC 日志缓冲区写磁盘,不走 OS buffer 数据走osbuffer
三、使用建议
--最高安全模式
innodb_flush_log_at_trx_commit=1
Innodb_flush_method=O_DIRECT
--最高性能:
innodb_flush_log_at_trx_commit=0
Innodb_flush_method=fsync
MySQL存储引擎 innodb_flush_log_at_trx_commit, sync_binlog,(双一标准+刷写策略)Innodb_flush_method相关推荐
- mysql 储存引擎_详解mysql存储引擎的标准
浅谈选择mysql存储引擎的标准 主要存储引擎的介绍 1.InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务.除非有非常特别的原因 ...
- WebDay19 MySQL存储引擎 索引 锁 集群
MySQL存储引擎 索引 锁 集群 一.MySQL存储引擎 1.MySQL体系结构 2.MySQL存储引擎 3.常用引擎的特性对比 4.引擎的操作 5.总结:引擎的选择 二.MySQL索引 1.索引的 ...
- 如何写MySQL存储引擎
mysql教程:如何写MySQL存储引擎 [日期:2009-04-02] 来源: 作者: 在MySQL 5.1中开发一个存储引擎已经是比较方便了.所谓存储引擎实际上是按照MySQL的约定,提 ...
- MySQL存储引擎(InnoDB引擎)
本篇章主要介绍什么是 MySQL 存储引擎?常用的 MySQL 存储引擎有哪些?以及详细介绍一下目前应用最广泛的 InnoDB 存储引擎,包括其:逻辑存储结构.架构.事务原理.MVCC等. 一.初识 ...
- MySQL存储引擎深入理解
文章目录 看完本篇文章你能学到什么? MySQL存储引擎深入理解 一.什么是MySQL存储引擎 1.1 存储引擎概述 1.2 查看存储引擎 1.3 修改默认存储引擎 1.4 常见存储引擎 二. 存储引 ...
- mysql 存储引擎 面试_搞定PHP面试 - MySQL基础知识点整理 - 存储引擎
MySQL基础知识点整理 - 存储引擎 0. 查看 MySQL 支持的存储引擎 可以在 mysql 客户端中,使用 show engines; 命令可以查看MySQL支持的引擎: mysql> ...
- 第 3 章 MySQL 存储引擎简介
3.1 MySQL 存储引擎概述 MyISAM存储引擎是MySQL默认的存储引擎,也是目前MySQL使用最为广泛的存储引擎之一.他的前身就是我们在MySQL发展历程中所提到的 ISAM,是ISAM的升 ...
- Mysql存储引擎详解(MyISAM与InnoDB的区别)
Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...
- mysql dba系统学习(21)mysql存储引擎InnoDB
mysql存储引擎InnoDB 1,主体系结构: 默认7个后台线程,4个io thread(insert buffer.log.read.write),1个master thread(优先级最高),1 ...
最新文章
- kmeans python interation flag_Python / Scipy Integration数组
- Linux系统配置交换分区
- springboot集成shiro实现注册、登录、退出功能
- Java EE企业系统性能问题的原因和解决建议
- 给刚博士毕业的年轻学者9点建议,最后一条:抓紧结婚,生娃!
- sqlserver isnull函数使用
- python怎么使用-如何使用 Python 开始建立
- 代码审查工具FxCop建议采用的规则总结
- 用matlab实现线性系统的频域分析,用matlab实现线性系统的频域分析.doc
- 中小企业信息安全:基本原则
- fail2ban 的使用
- tup,list,dict,set的创建
- 剑指offer简单题打卡day3
- (完整版)英语常用词组大全(2000词以上)
- linux系统的监控工具名称,Linux下几款系统监控工具介绍
- SCJP认证复习——经典题库
- Android 增量升级原理及实现方式分享
- Java基础读书笔记
- 从社会契约论的角度看区块链开发的属性
- 用GATE位测量脉宽