哪个在MySQL中加载CSV文件或多个INSERT命令更快?

时间:2013-11-26 06:21:32

标签: mysql sql

这里需要一些建议。因为我有一个有45,000行的表。我所做的是将表导出为多个INSERT命令。但估计的时间太长了。在sql中加载哪个更快?导出为CSV的行或导出为多个INSERT命令的行?

3 个答案:

答案 0 :(得分:1)

INSERT更快,因为您正在跳过解析csv。

如果您的表位于MyISAM,则可以复制文件:*.frm*.myi*.myd,此迁移速度会更快。

答案 1 :(得分:1)

LOAD DATA INFILE是最快的。

你好,所以你要用你自己的程序转储表。如果装载速度很重要。请考虑以下事项:

  • 确保多个INSERT INTO .. VALUES (...), (...)
  • 加载前禁用INDEX,加载后启用。这更快。
  • LOAD DATA INFILE比多个INSERT速度快,但需要权衡。维护和处理逃逸。

  • 顺便说一句,我的事mysqldump比其他人好。

加载45,000行需要多长时间?

答案 2 :(得分:0)

根据我的经验,使用大型数据集加载csv几乎总是更快;它是为大规模装载而设计的。

有关详情,请参阅此处 https://dba.stackexchange.com/questions/16809/why-is-load-data-infile-faster-than-normal-insert-statements