您好我使用MySQL 5.0.x的

我刚改变了很多的表从MyISAM的InnoDB的

通过花了大约1分钟即可安装我们的数据库中的MyISAM表 与InnoDB的大约需要的15分钟以安装相同的数据库

<强>为什么InnoDB的需要很长时间吗

我能做些什么,以加快速度?

在数据库中安装执行以下步骤

1)滴眼液的模式

2)创建的模式

3)创建表

4)创建存储过程

5)将默认数据

6)通过存储过程中插入数据

编辑:

默认数据的插入需要的时间最

有帮助吗?

解决方案

修改插入数据步骤在开始启动一个事务并在结束提交它。你会得到改善,我保证。 (如果你有大量的数据,您可能希望以每桌突破交易最多。)

如果您的应用程序不使用事务的话,那么你应该设置paramater innodb_flush_log_at_trx_commit为2。这会给你很多的性能回来,因为你几乎可以肯定AUTO_COMMIT启用,这产生比InnoDB的默认了更多的交易参数被配置为。此设置停止它不必要地冲洗所述磁盘缓冲区上的每个提交。

其他提示

15分钟似乎并不过度我。毕竟,这是一个一次性费用。

我不能肯定,但我想解释的那部分是参照完整性不是免费的。 InnoDB的有做更多的工作,以保证它,所以它当然会占用更多的时间。

也许你的脚本需要改变创建表后添加的约束。

像duffymo说,在插入数据之前禁用约束(索引和foreing /主键)。

也许你应该通过存储过程插入数据之前恢复一些指标,如果它使用了很多的选择的语句

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top