<分区>
我想在 php/mysql 中创建类似 Snapchat 的东西,它会在 24 小时后自动删除行。 我读过有关 cron 作业的信息,但它会降低应用程序的速度,所以我想知道是否还有其他方法可以做到这一点?
<分区>
我想在 php/mysql 中创建类似 Snapchat 的东西,它会在 24 小时后自动删除行。 我读过有关 cron 作业的信息,但它会降低应用程序的速度,所以我想知道是否还有其他方法可以做到这一点?
最佳答案
您正在查看的实际上是这样的:
DELETE FROM snaps WHERE created_at <= DATE_SUB(NOW(), INTERVAL 1 DAY)
只要您填充 created_at
并为其编制索引,它就会运行得相当快。如果您有很多记录,我的意思是超过 1 亿条,则需要将其隔开:
DELETE FROM snaps ... LIMIT 10000
您可以以 10K block 或任何最有效的方式进行处理。
Postgres 使用稍微不同的表示法:
DELETE FROM table WHERE created_at <= NOW() - INTERVAL '1' DAY;
关于php - 24 小时后自动从数据库中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40697891/