在mysql中的时间范围之间选择数据

时间:2019-07-14 11:34:02

标签: php mysql

我有一个非常简单的查询,可以在执行查询后更新当前状态或在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秒内接受,那么所有问题都将得到解决

0 个答案:

没有答案