将大数据插入多个表的更好方法是什么? 带有外键的CSV中的数据库?
我尝试将大型csv文件导入多个表 我使用正常的Mysql查询循环csv数据,但它非常慢。 然后我试着加载数据' method.But它只能将数据插入到具有相同列顺序的单个表中。
但是,它不起作用,因为我需要将数据插入多个表并需要使用最后一个
插入一个表的id以加入另一个表。
有人可以建议更好的方法将数据上传到多个表吗?
在这里,我使用Zend Framework和Doctrine来处理数据库操作。 但是,根据我的理解,Doctrain比正常的MySQL查询花费的时间更多,这就是我使用直接MySQL查询的原因。
答案 0 :(得分:1)
您可以从下面的方法一次性导入数百万条记录中的大型文件,请使用mysql Load DATA
代表前 -
LOAD DATA LOCAL INFILE
'/PATH_TO_YOUR_CSV/YOUR_CSV.csv'
INTO TABLE MY_TABLE
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
请记住您的表结构和您的csv文件结构(没有列)应该是相同的