Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql myisam插入速度比innodb慢_Mysql_Performance_Innodb_Myisam_Sql Insert - Fatal编程技术网

Mysql myisam插入速度比innodb慢

Mysql myisam插入速度比innodb慢,mysql,performance,innodb,myisam,sql-insert,Mysql,Performance,Innodb,Myisam,Sql Insert,我有一个mysql服务器,带有生产数据库和临时数据库。我将innodb用于生产表,但我不需要只移动数据的暂存功能。因此,我决定将这些表切换到myisam,以提高插入性能 结果很可怕。它看起来更像是在不禁用自动提交的情况下插入innodb表。如果我在插入过程中保持表innodb并关闭autocommit,那么每秒可以获得数千次插入。一旦我把桌子换成myisam,我每秒可能会收到几十张插页 我想可能是因为我使用SSIS通过传统后端获取数据,但这似乎不是问题所在。使用SSI,从生产数据库到暂存数据库(

我有一个mysql服务器,带有生产数据库和临时数据库。我将innodb用于生产表,但我不需要只移动数据的暂存功能。因此,我决定将这些表切换到myisam,以提高插入性能

结果很可怕。它看起来更像是在不禁用自动提交的情况下插入innodb表。如果我在插入过程中保持表innodb并关闭autocommit,那么每秒可以获得数千次插入。一旦我把桌子换成myisam,我每秒可能会收到几十张插页

我想可能是因为我使用SSIS通过传统后端获取数据,但这似乎不是问题所在。使用SSI,从生产数据库到暂存数据库(mysql到mysql),我仍然看到相同的结果。。。innodb(无自动提交)的性能远远超过myisam

这对我来说毫无意义。以我的经验来看,如果没有别的,myisam至少应该是可比的,希望更好

有什么明显的东西我忽略了吗?我没有包括细节,希望这是我总体上缺少的东西

编辑:


这似乎与SSI和ODBC目标组件有关。我使用的是一个ODBC源,它有我的select语句,输出到ODBC目标,即同一台服务器上的表,但是另一个DB。由于DBs位于我运行的同一台服务器上,所以在SqlYog中,插入使用与ODBC源相同的SELECT查询,并且在几秒钟内完成。我会看看是否能找到解决方案。

我可能会在这里检查myisam特定的缓冲区。假设索引等未发生任何更改,并且您的表文件与ibdata文件位于同一存储器中?请参阅我的编辑。在我找到答案之前,我把密钥缓冲区大小和批量插入缓冲区大小增加到256M,但没有成功。MyISAM是一个旧引擎。。InnoDB的构建速度非常快。。“write InnoDB的吞吐量是MyISAM的4.6倍”,以及“Read-en-write InnoDB的吞吐量是MyISAM的35倍”,请参见