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