Mysql:插入性能 INNODB vs MYISAM

标签 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

我无法弄清楚这到底出了什么问题。 提前致谢。 问候, 乌日

最佳答案

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

关于Mysql:插入性能 INNODB vs MYISAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10117903/

相关文章:

mysql - 莫名其妙的内部查询

c - 通过 6 面模具实现提高 7 面模具滚动模拟的性能

json - 在 Go 中加速 JSON 解析

php - 用php插入mysql

mysql - 如何将引用表中的数据插入到相应的字段中

php - HTML 表单不通过 PHP 处理器将数据发布到 MySQL 数据库

php - 如何将表单数据插入数据库

visual-studio - 如何在 Docker 镜像中应用最新的 msbuild?

php - 从复选框将多个值存入 MySQL

php - 清理Mysql表中的数据