数据库200多万条数据,整表关联更新耗时8个小时没有结果
索性尝试了一下储存过程划分数据循环更新,耗时453秒,真香
delimiter // # 定义//为一句sql的结束标志,取消;的所代表的意义
drop procedure if exists test; # 如果存在名字为test的procedure则删除
create procedure test() # 创建函数
begin
declare 许可证号_tmp varchar(50); # 声明变量
declare flag int default 0; # 声明变量
declare s_list cursor for select 许可证号 from 许可证; -- 声明游标
declare continue handler for not found set flag=1;
open s_list; # 打开游标
fetch s_list into 许可证号_tmp; # 使用游标
while flag <> 1 do
# 此处放置更新语句
select 许可证号_tmp;
fetch s_list into 许可证号_tmp;
end while;
close s_list; # 关闭游标
end
//
delimiter ;
call test();
标签:tmp,储存,mysql,list,游标,循环,许可证,test,declare
From: https://www.cnblogs.com/meizhengchao/p/16914817.html