为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 批量删除锁表的解决方案?

mysql 批量删除锁表的解决方案?

慕村9548890 2019-01-05 18:11:17
mysql的某个表,不断地插入新数据。但为了防止不断变大,需要同时执行delete from 语句,删除某个时间点之前的旧数据。现在问题来了,删的时候,不敢删除过多 条数据,要不然,删得越多,就锁表时间越长。只能100 多条的删除。但是,这种速度,远远少于 插入的条数。问,有什么办法,让mysql的同一个表,同时允许delete和insert,并且总量维持在某个平衡水平。主要是 delete 锁表的问题。
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

你可以在程序里,或用function/存储过程, 每插一条就删一条, 总条数就不变了

INSERT INTO `test`.`data` (`id`, `record_time`) VALUES ('6', '2018-03-05 0:0:0');DELETE FROM data WHERE id= (SELECT * FROM  (SELECT MIN(id) AS id FROM data) t);


查看完整回答
反对 回复 2019-01-05
  • 1 回答
  • 0 关注
  • 2855 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信