我有一个非常简单的查询,可以在执行查询后更新当前状态或在mysql中添加另一列end列来轻松解决,但是我们可以做到这两个都不用吗?
我认为是
SELECT *
FROM tableA
where run_time <= '$nowtime'
order
by id asc
limit 1000
现在是
$nowtime =time();
,一旦时间过后,这些查询将继续执行。我们可以通过两种方式解决这个问题
一个是添加一列,该列将更改已执行的这些行的状态,另一个是通过添加end_time列并像这样运行查询
SELECT *
FROM tableA
where run_time <= '$nowtime'
and end_time > '$endtime'
order
by id asc
limit 1000
如果我有能力进行mysql调用以从数据库获取运行时和end_time并执行,那么我可以轻松实现它,但是这非常昂贵。
每次通话更新1000条记录也是非常昂贵的。
我完全感到困惑。任何帮助都会很棒。
我不想每次运行都更新sql,因为每分钟更新1000条记录是资源敏感的 我不想在数据库中添加end_time,因为我不想在可以用一个完成时进行两个sql查询。
我已成功完成此操作,但问题是,一旦run_time小于nowtime,它将继续运行。
更新mysql中的状态将解决问题,但是如果可以通过在60秒的括号内给出来避免,并且run_time仅在run_time + 60秒内接受,那么所有问题都将得到解决