下面是场景。
我每分钟都有一个schedule作业,它将数据插入mysql表“demo”。每天的记录总数为60*24=1440。
表demo已经有55000条记录。
我想在今天之前清理记录。因此,我使用下面的代码做的工作,每天上午10点。
$demo = Demo::whereDate('created_at','<', Carbon::today());
if(count($demo) > 0)
{
$demo->delete();
}
现在我将同时插入同一个表并从同一个表中删除。
我想知道它会安全吗?否则会有错误或任何其他影响。
3条答案
按热度按时间oxcyiej71#
没有问题。假设您每分钟发出1000个请求,其中没有一个会覆盖另一个请求。
yrdbyhpb2#
按照我的说法,应该没有任何问题。如果同时有两个请求,mysql服务器将自己处理它们。加载网站时也会发生同样的情况。同时有很多电话。
kzmpq1sx3#
我不认为这是个问题,因为
Carbon::today()
退货00:00:00
随着时间的推移,您将在执行删除作业10:00:00
. 只有在10小时前插入的记录才会被删除。