如何分离一个巨大的表并运行一个循环来选择行并导入到一个新表?

时间:2014-12-09 20:22:13

标签: mysql

我有一个包含2400万行数据的庞大表。我想运行一个查询,选择一些数据并存储在一个新表中。

如何编写一个执行此类操作的循环?

首先选择250,000(250k)行 运行查询
插入数据
选择另一个跟随250k行左 运行查询
插入数据。

1 个答案:

答案 0 :(得分:0)

    CREATE PROCEDURE WhileLoopProc()
    BEGIN
           DECLARE x  INT;
            SET X=0;
           WHILE(x<=24 MILLION) DO
           PREPARE stmt FROM "select u.user_id, u.firstname, u.lastname from  users u limit 250k     offset ?"; 
           EXECUTE stmt USING X; 
           set x=x+250k; 
           END WHILE;
   END