日志缓冲区 ,脏页刷盘, LRU 链表 ,合并缓冲和刷新脏页 的优化
# 1. 日志缓冲区的相关参数配置
-- 1.1 缓冲区大小配置 默认 16KB, 一般是够用的,可能遇到大事务的情况,缓冲区会被很快的填满,增加IO的次数 (根据情况配置更大的日志缓冲区,可以有效的挺高MySQL的效率)
-- 查看日志缓冲区的大小
show variables like 'innodb_log_buffer_size';
-- 查看日志组文件的个数
show variables like 'innodb_log_files_in_group'; -- 默认是2个
-- 查看日志文件的大小 (默认 48M, 而且是全局的静态参数)
-- 每组的文件大小不能够超过512G,否则在做文件恢复的时候,会很慢,所以每个文件不能超过256G
show variables like 'innodb_log_file_size';
select 100663296/1024/1024 from dual;
-- 1.2 日志文件的参数优化
/**
日志文件大小的设置对于性能的影响:
设置过小:
1. innodb_log_file_size 设置太小,会导致日志文件的频繁的切换(也就是 redo log),也就会导致频繁的触发数据库的检查点,导致刷新脏页到磁盘的次数增加,从而影响IO性能
2. 处理大事务时,将所有的日志文件写满了,但是事务内容还没有记录完毕,这种情况会导致日志无法切换
设置过大:
1. innodb_log_file_size 设置过小,虽然可以提升IO性能,但是如果出