我有一个包含2400万行数据的庞大表。我想运行一个查询,选择一些数据并存储在一个新表中。
如何编写一个执行此类操作的循环?
首先选择250,000(250k)行
运行查询
插入数据
选择另一个跟随250k行左
运行查询
插入数据。
答案 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