如何将数据Infile加载到多个表中?
嗨,我运行python程序,其中即时插入许多新的条目数据库, 这个新的条目分布在多个表。如何将数据Infile加载到多个表中?
将它们加载到数据库中的最快方法是什么? 在现在即时通讯使用这样的事情
LOAD DATA LOCAL INFILE file
INTO TABLE table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(col1, col2, col3, ...)
但这种方法只适用于一个表,我不觉得这 多次做...
我发现http://forge.mysql.com/worklog/task.php?id=875这一点,但不很 当然,如果它已经实施或没有。
哪种方式?这是一个最好的解决方案还是您更喜欢其他方法?我的目标是 速度,转速和速度不能再等待几分钟,而程序 完成工作
负载数据中插入新的数据进行的跨多个表的心不是被支持(V 5.1)
我不认为LOAD DATA
能做到这一点,但为什么进口以后不能复制表?
见
我正在做的正是你想要做的如下:
步骤1:创建临时表(保持导入文件的所有字段)
步骤2:LOAD DATA LOCAL INFILE - >到临时表
步骤3:INSERT INTO Table1
(字段列表)选择TempTable
(匹配字段列表)...包括JOINS,WHERE和ON PRIMARY KEY UPDATE必要
步骤4:对第二个表插入查询等重复步骤3。
使用这种方法,我目前正在汇入我的每一个22MB的数据文件,并解析出来到多个表(6张桌子,其中包括2审计/变更表)
不知道你的表结构及数据文件结构它很难给你一个更详细的解释,但我希望这可以帮助你开始
在旁注中,this不是1遍解决方案,您将在临时表上为您正在更新的每个表创建1个查询(或更多)。在我的情况下,我为每个表创建了一个表,对于我的审计表,我为每个正在审计的表列创建了一个查询。我的22兆数据文件的处理速度小于15秒,可将30000条记录处理成6个表格(8个插入查询)。我不知道这是否是一个很好的速度,但在我看来,我对这个速度感到非常满意。 – 2011-05-07 16:20:27
那些试图写入MySQL表的新数据不是已经在表中...所以复制表不会工作 – nabizan 2010-10-28 13:27:38