我有一个Notification表,其中包含1000个IOPS的Amazon RDS中的大约1亿行主机,我想删除一个月以上的行。
如果这样做DELETE FROM NOTIFICATION WHERE CreatedAt < DATE_SUB(CURDATE(), INTERVAL 30 day);
,将使用所有IOPS,整个过程将花费数小时,并且由于“超出了锁定等待超时;尝试重新启动事务”,因此无法插入许多新条目。
我试图按照此处描述的方式进行操作:http : //mysql.rjweb.org/doc.php/deletebig 但是,我使用的是UUID而不是增量ID。
在不影响正在插入/更新的新数据的情况下,删除这些行的正确而有效的方法是什么?
您是正确的ypercube,我已予以纠正。感谢您指出!
—
天一聪
删除记录在更小的块,不会影响插入操作,我带环试了一下,它完成删除70000000纪录在不到一个小时rathishkumar.in/2017/12/...
—
Rathish