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);
添加回答
举报
0/150
提交
取消