我插入一个包含5个属性和1000行的简单小表。
我观察到发动机是INNODB时,每次插入需要0.03 - 0.05秒。 我将引擎更改为MYISAM,然后插入更快。它需要0.001 - 0.003。
问题是什么innodb_flush_log_trx_commit = 1默认情况下。我就是这样的设置。 这是我的innodb设置。
innodb_log_buffer_size : 1MB
innodb_log_file_size : 5MB
innodb_buffer_pool_size: 8MB
innodb_flush_log_trx_commit = 1
我无法弄清楚这有什么问题。 提前致谢。 问候, UDAY
答案 0 :(得分:3)
innodb_flush_log_at_trx_commit = 1表示每个事务都写入日志缓冲区。
将其设置为0以获得更好的性能,甚至更好地尝试在一个事务中执行所有插入(不要忘记最后提交)。
您可以查看http://dev.mysql.com/doc/refman/4.1/en/innodb-parameters.html以获取有关innodb_flush_log_at_trx_commit和其他变量的更多详细信息