首先插入10000条数据
DROP PROCEDURE if EXISTS test;
CREATE procedure test() # 创建无参存储过程,名称为test
BEGIN
DECLARE i INT; # 申明变量
SET i = ; # 变量赋值
WHILE i<10000 DO # 结束循环的条件: 当i大于5时跳出while循环
INSERT INTO tb_trem values(i,0); # 往test表添加数据
SET i = i+1; # 循环一次,i加1
END WHILE; # 结束while循环
-- SELECT * FROM test; # 查看test表数据
END
CALL test();
生成语句 sql1
update tb_trem set delete_flag = 1 where
auto_id in (1,2,3,4,........,10000)
sql2
update tb_trem set delete_flag = 0 where auto_id=1;
update tb_trem set delete_flag = 0 where auto_id=2;
..............
update tb_trem set delete_flag = 0 where auto_id=10000;
分别执行两个sql文件
可见使用where in 进行数据刷新速度远大于where xx=?
但是缺陷就是一条sql语句会很长,具体使用情况还要结合数据库的压力来判断
有想法欢迎一起讨论