MySql Innodb引擎 数据表 上万条数据连续插入优化

innodb_flush_log_at_trx_commit 

设置为0 的时候,Log Thread 会在每次事务结束的时候将数据写入事务日志,mysql每秒执行一次,mysql崩溃,则会丢失数据。

设置为1 的时候,Log Thread 会在每次事务结束的时候将数据写入事务日志,并flush写入磁盘。

设置为2 的时候,Log Thread 会在每次事务结束的时候将数据写入事务日志,但是这里的写入仅仅是调用了文件系统的文件写入操作。系统会每秒执行flush写入磁盘,系统崩溃的时候才会丢失数据。

测试:

innodb_flush_log_at_trx_commit = 1:5000条数据插入耗时40s

innodb_flush_log_at_trx_commit =2 :5000条数据插入耗时1s,25000条数据,耗时4s多。

你可能感兴趣的:(Mysql)