innodb引擎相关参数

Posted 徐大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了innodb引擎相关参数相关的知识,希望对你有一定的参考价值。

1.innodb_flush_log_at_trx_commit (双一标准之一)

作用:主要控制了innodb将log buffer中的数据写入日志文件并flush磁盘的时间点,取值分别为0、1、2三个。
查询:select @@innodb_flush_log_at_trx_commit;
参数说明:
1,每次事物的提交都会引起日志文件写入、flush磁盘的操作,确保了事务的ACID;flush 到操作系统的文件系统缓存 fsync到物理磁盘.
0,表示当事务提交时,不做日志写入操作,而是每秒钟将log buffer中的数据写入文件系统缓存并且秒fsync磁盘一次;
2,每次事务提交引起写入文件系统缓存,但每秒钟完成一次fsync磁盘操作。
默认值是1

2.Innodb_flush_method

技术图片
作用:控制的是,log buffer 和data buffer,刷写磁盘的时候是否经过文件系统缓存
查看:show variables like %innodb_flush%;
O_DIRECT  :数据缓冲区写磁盘,不走OS buffer
fsync :日志和数据缓冲区写磁盘,都走OS buffer
O_DSYNC  :日志缓冲区写磁盘,不走 OS buffer
使用建议:
最高安全模式
innodb_flush_log_at_trx_commit=1
Innodb_flush_method=O_DIRECT
最高性能:
innodb_flush_log_at_trx_commit=0
Innodb_flush_method=fsync
View Code

3.redo日志有关的参数

技术图片
innodb_log_buffer_size=16777216
innodb_log_file_size=50331648
innodb_log_files_in_group = 3
View Code

 

 

 

以上是关于innodb引擎相关参数的主要内容,如果未能解决你的问题,请参考以下文章

原创MySQL性能优化-I/O相关配置参数

MySQL · 引擎特性 · InnoDB 崩溃恢复过程

Mysql相关的各种类型文件

Mysql相关的各种类型文件

InnoDB存储引擎相关问题整理

Innodb Read IO 相关参数源代码解析