比如下单时间: order_create_time 是 2023-01-04,req_time需求时间是 2023-01-05,超过需求时间一天对其进行超时处理
select order_id from order where req_time < DATE_SUB(now() ,interval 1 day) AND order_create_time >= DATE_SUB(now() , interval 30 day) AND state = '处于需求中'
就定时任务上面SQL,一分钟执行一次去扫,然后找出后修改状态state = '已超时'
大概是这么个思路,具体多长时间执行一次,扫多大范围内的数据,要看你业务的具体需求。
order_creat_time req_time上都加上索引。这种方式没啥问题。