场景:如何做数据清理

如果数据清理简单粗暴按时间进行清理,同时时间字段并没有增加索引就会出问题

如果没有增加索引,他就会进行全表扫描,并且会给全表的数据上一个x锁

会阻塞其他的线程

解决方案参考阿里云DMS数据清理方案

这个SQL查询的目的是从名为`table_hollis`的表中选择`id`,但它有一个特定的条件。让我们逐步分析这个查询:

1. 子查询(别名为`t`)是从同一张表中选择`gmt_create`字段。它选择的行是`id`在100到100000之间的前1000行(由于有`limit 1000`)。

2. 这个子查询还检查这些行的`gmt_create`日期是否早于当前日期(`CURDATE()`)减去300天(`SUBDATE(CURDATE(),INTERVAL 300 DAY)`)。如果有至少一个行满足这个条件(即,存在一个记录创建时间小于当前日期300天的记录),则子查询将返回至少一个结果。

3. 外层查询选择`id`字段,但仅当子查询(`hasNeedDelItem`)返回结果时。这意味着如果至少有一个`gmt_create`早于当前日期300天的记录,它将返回所有100到100000之间`id`的前1000条记录。如果没有任何记录符合子查询的条件,则不返回任何记录。

总结一下,这个SQL查询检查在`table_hollis`表中`id`介于100到100000之间的记录中,是否存在至少一个其`gmt_create`日期小于当前日期300天的记录。如果存在,它将选择`id`在100到100000之间的前1000条记录。如果不存在,它什么也不选择。

总结:查询一批id内有没有可能过期的id

再将这批id进行挨个检查 删除

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值