1. innodb_flush_log_at_trx_commit
这个参数有三个值,按照写入速度排序:0>2>1
0:写入速度最快,存在数据丢失的风险。延迟写日志,log_buffer每隔1秒写日志,数据刷盘。
2:写入速度较快,存在数据丢失风险。实时写日志,延迟刷盘,log_buffer实时写日志,每隔1秒刷盘。
1:写入最慢,最大安全性。实时写日志,实时刷盘,log_buffer实时写日志,每隔1秒刷盘。
重点:
在数据导入中,为了提高性能,可以考虑临时调整参数:innodb_flush_log_at_trx_commit=0,数据导入到,重新设置为1;
2.按照写入深入排序
1>2>0
1:事务日志数据直接落盘。
2:事务日志先落入操作系统缓存,然后写入磁盘。
0:事务日志只写入日志缓冲区,然后通过异步罗盘。
3.sync_binlog 每次刷入日志时,刷入的事务数。
一般在导入数据时设置为较大的值,比如:500~1000设置,数据导入完成后,重新设置为1;
当sync_binlog=1 时,即来一个事务,就刷入一次。sync_binlog=500,每次刷入500个事务的数据量。
合理应用这两个参数,能够提升导入数据的效率。