Mysql:插入性能INNODB vs MYISAM

时间:2012-04-12 05:29:39

标签: mysql performance insert innodb myisam

我插入一个包含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

1 个答案:

答案 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和其他变量的更多详细信息