【问题标题】:How to insert bulk data into database at a time?如何一次将批量数据插入数据库?
【发布时间】:2012-05-17 12:04:33
【问题描述】:

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

【问题讨论】:

标签: mysql


【解决方案1】:

您可以使用以下 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);

【讨论】:

    【解决方案2】:

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

    将数据批量加载到 mysql
    load data infile...
    

    检查以下链接:

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

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      您也可以将记录插入到内存表中。在完成插入内存表后,按照代码从内存表中插入多行。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多