如何一次将批量数据插入数据库?

时间:2012-05-17 12:04:33

标签: mysql

我已经创建了一个存储过程。我用大量数据(大约1L行)获取光标。 之后,我调用其中的另一个程序来完成与所需数据相关的所有计算。 我创建临时表并尝试在其中插入此计算数据。但这需要太长时间 大约9.5分钟。 我想知道如何使用至少“INSERT”查询插入批量数据,因为1L插入查询会导致最差的性能。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:7)

您可以使用以下SQL语句进行批量插入:

INSERT INTO TABLE_A (A, B, C, D) VALUES
(1,1,1,1),
(2,2,2,2),
(3,3,3,3),
(4,4,4,4);

答案 1 :(得分:2)

您的问题有点模糊,但您可以使用

将数据加载到mysql中
load data infile...

检查以下链接:

如果您需要在加载期间处理数据,最好首先将数据批量加载到临时表中,然后针对它运行一些存储过程来处理和填充主表。

希望这有帮助。

答案 2 :(得分:0)

你也可以将记录插入到内存表中。完成后插入内存表后面的代码,从内存表中插入多行。

INSERT INTO TABLE_A (A, B, C, D)
SELECT A,B,C,D FROM INMEMORY_TABLE

DELETE FROM INMEMORY_TABLE