写程序加到crontab里面,让定时执行,然后去删。这个方法比较常见。
通过触发器来删。给这个表建立一个触发器,每当有insert或者update的时候,就触发一条sql,这个sql就是删除过期的数据
第一种方式 直接执行delete from T limit 10000,单个语句占用时间长,锁的时间也比较长;而且大事务还会导致主从延迟。
第一种方式 第二种方式是 相对 较好的
第三种方式 在20个连接中同时执行delete from T limit 500),会人为造成锁冲突。如果可以加上特定条件,将这10000行天然分开,可以考虑第三种,例如拿到了ID
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)