MySQL - 插入500K记录

时间:2017-06-14 10:48:46

标签: mysql

即时运行查询,从.CSV文件中将500k记录导入表中。 查询运行1小时15分钟,我认为正在花费很多时间来执行此操作。 我期待大约10分钟,20分钟。 我已经完成了35k的插入查询,花了大约30秒。 有没有办法加快这个过程?

我打电话的陈述是下面的一句话:

LOAD DATA LOCAL INFILE 'c:/users/migue/documents/www/mc-cron/excels/BD_YP_vFinal_2.csv' INTO TABLE leads FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n';

感谢。

1 个答案:

答案 0 :(得分:0)

将行导入数据库的速度主要取决于数据库的结构,而不是导入的数据,或取决于用于启动导入的特定命令。因此,向我们展示创建CREATE TABLE表而不是向我们展示leads命令的LOAD DATA语句会更有用。

快速插入的一些建议:

  1. 尝试禁用表格上的所有约束,然后重新启用它们。
    • 这包括唯一约束,外键,一切。
  2. 尝试在导入之前删除任何触发器,并在导入完成后:
    • 放回触发器
    • 手动执行触发器在导入期间处于活动状态时执行的操作
  3. 尝试在导入之前删除 所有 索引(是的,这也包括主键索引),并在导入完成后重新创建它们。