您能告诉我如何有效地允许用户在mysql中导入他们的数据吗? 问题是数据通常需要插入几个相关的表中。 导入seriall 10s或100s的导入.csv需要花费很多时间并为数据库生成大量负载。现在我解析.csv,生成insets(如果我们需要在相关表中设置attrributes,可能是几个插入)和循环插入数据库中的数据。 你怎么做这样的事情? 也许在服务器和服务器上加载文件以便按小部分插入数据? 所有想法都表示赞赏。 谢谢。
答案 0 :(得分:0)
如果您确实需要插入所有这些数据,我认为您没有太多选择。
我建议使用插入多行和一个INSERT来减少应用程序和数据库之间的往返次数:
INSERT INTO mytable (....)
VALUES (....),
(....);
如果您是第一次插入数据,则可以在插入所有数据后创建索引,但当然如果您在线执行此操作(即插入过程与其他操作同时执行)则你不能这样做,因为索引在所有进程之间共享。