我有一个通知表,其中包含 Amazon RDS 中大约 1 亿行的主机,IOPS 为 1000,我想删除那些超过一个月的行。
如果我这样做DELETE FROM NOTIFICATION WHERE CreatedAt < DATE_SUB(CURDATE(), INTERVAL 30 day);,将占用所有 IOPS,该过程将花费数小时,并且由于“超出锁定等待超时;尝试重新启动事务”而无法插入许多新条目。
我试图做这里描述的方式:http : //mysql.rjweb.org/doc.php/deletebig 但是,我使用 UUID 而不是增量 ID。
在不影响插入/更新新数据的情况下删除这些行的正确有效的方法是什么?