我有一个巨大的表,其中包含 2400 万行数据。我想运行一个查询来选择一些数据并将其存储在新表中。
如何编写一个循环来执行此类操作?
选择前 250,000(250k) 行
运行查询
插入数据
选择另一个后续 250k 行
运行查询
插入数据。
最佳答案
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
关于mysql - 如何分离一个巨大的表并运行循环来选择行并导入到新表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27388101/