2011-01-24 59 views
2

请问如何有效地让用户在mysql中导入他们的数据? 问题是数据通常需要插入几个相关的表中。 导入severl 10s或100s的行导入.csv占用大量时间并为数据库生成大量负载。现在我解析.csv,生成插入(如果我们需要在相关表中设置attrributes,可能会插入多个插入),并在数据库中循环插入数据。 你如何做这样的事情? 也许可以在服务器上和服务器上周期性地加载文件以便按小部分插入数据? 所有的想法都表示赞赏。 谢谢。有效导入.csv到mysql到几个相关表格

回答

0

如果你真的需要插入所有这些数据,我不认为你有很多选择。

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

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

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

+0

我有这样的数据:entrites表 ENTITY_ID attR1位attR2位attr3 ... ň string_attributes entity_d FIELD_ID值 number_attributes ENTITY_ID FIELD_ID值 date_attribtutes ENTITY_ID FIELD_ID值 – Oleg 2011-01-24 08:52:45