我运行了以下查询来进行一些数据清理:
use database;
delete
from database
where Date < '2017-08-16'
limit 10000000;
我使用限制将其分成块,以便我可以监视进度。我跑了
select *
from database
order by Date
limit 10;
确认删除旧数据。在最后一次,它只剩下大约一个月,但我仍然运行原始查询,因为我认为它将达到WHERE限制并停止。查询已完成,现在当我选择*它返回零行时。发生了什么?如果不发生这种情况,我该如何正确清理旧行? (幸运的是数据已备份,但我需要一个合适的方法来删除旧行。)