在mysql中插入100万条记录

时间:2016-09-23 07:21:55

标签: mysql sql ruby-on-rails ruby

我有两个表,在两个表中我获得了100万条记录。我每晚都在使用cron作业来插入记录。在第一个表中我先截断表,然后插入记录,在第二个表中我正在更新并根据主键插入记录。我使用mysql作为我的数据库。我的问题是我每天都需要执行此任务但我无法插入所有数据。那么这个问题的可能解决方案是什么

2 个答案:

答案 0 :(得分:0)

重要的是在发布数据时引发MySQL想要执行的所有操作和检查,例如自动提交,索引等。

https://dev.mysql.com/doc/refman/5.7/en/optimizing-innodb-bulk-data-loading.html

因为如果你不这样做,MySQL会在添加每条记录后做很多工作,并且当进程正在进行时它会加起来,导致最后的处理和导入非常慢,并且可能无法完成有一天。

答案 1 :(得分:-3)

如果必须使用MySql:对于第一个表,请禁用索引,执行插入,而不是启用索引。这样会更快。

另外MongoDb会更快,Redis非常快。