好.我建议明确使用LOAD DATA INFILE.对于那些没有使用它的人来说,现在考虑它只是一个选择语句,直到你看到它.
这是一篇关于性能和战略的好文章,标题为Testing the Fastest Way to Import a Table into MySQL.不要让标题的mysql版本或文章内部吓跑你.跳到最底层并得出一些结论:
The fastest way you can import a table into MySQL without using raw
files is the LOAD DATA syntax. Use parallelization for InnoDB for
better results, and remember to tune basic parameters like your
transaction log size and buffer pool. Careful programming and
importing can make a >2-hour problem became a 2-minute process. You
can disable temporarily some security features for extra performance
还有一些优点,主要是关于二级索引(你没有)的来回同行评论.其他人的重点是在事后添加它们.
我希望这些链接很有用.并且您的数据在10分钟内进入……(在另一个带有LOAD DATA INFILE的测试表中).
普通的留言
关于最慢的方法是通过while循环逐行编程语言.获得更快肯定是批处理的,其中一个插入语句一次传递200到1k行.性能基本上是LOAD DATA INFILE.最快的是原始文件(我做的,但超出了在这里讨论的范围).