mysql - 有效地将 .csv 导入 mysql 到几个相关表

标签 mysql csv

你能告诉我如何有效地让用户在mysql中导入他们的数据吗? 问题是数据一般需要插入到几个相关的表中。 导入 10s 或 100s 千行的导入 .csv 需要很多时间并且会为数据库产生很大的负载。现在我解析 .csv,生成插入(如果我们需要在相关表中设置属性,可能是几个插入)并在数据库中循环插入数据。 你是怎么做到这些事的? 也许要定期在服务器上和服务器上加载文件以少量插入数据? 所有的想法都表示赞赏。 谢谢。

最佳答案

如果您真的需要插入所有这些数据,我认为您没有太多选择。

我建议使用一个 INSERT 插入多行以减少应用程序和数据库之间的往返次数:

INSERT INTO mytable (....)
VALUES (....),
       (....);

如果您是第一次插入数据,您可以在插入所有数据后创建索引,但是当然如果您是在线执行此操作(即您的插入过程与其他操作同时执行),那么你不能这样做,因为索引在所有进程之间共享。

关于mysql - 有效地将 .csv 导入 mysql 到几个相关表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4780010/

相关文章:

python - 在Python中,如何根据一列中的值比较两个csv文件并输出第一个文件中与第二个文件不匹配的记录

powershell - 如何使用 PowerShell 将 UTC 转换为 EST

php - 满足以下要求的 PHP/MySQL 查询应该是什么?

php - 最优化的 MySQL 语法

MySQL如何生成当天的摘要

Python多文件csv总和列,一周的平均值和分支的平均值

vba - 导入不带格式的 CSV

PHP:$_SESSION 作为数组不起作用,不允许我添加新项目?

mysql - mongoDB是否有像mysql一样的机制,可以简单地将.sql文件导入数据库?

mysql - 将空字符作为空字符串导入 CSV 数据库