如何在后台使用PHP和MySQL删除数千行?

use*_*279 10 php mysql

我有一个网站,人们发布图像,人们可以像每个像帖子中有一行的帖子,如果有人删除了一个帖子,我想删除该特定帖子的每一行.该数字可能非常大,如15,000或更多,删除帖子的用户等待的时间可能很长.

要删除帖子,我希望在后台删除另一个脚本中的15,000行.我怎样才能做到这一点?

Chr*_*ris 10

很多选择.这是一个建筑/工程决策而不是其他任何事情.我会抛出一个想法.

从软删除开始.而不是实际删除帖子(及其关系),将状态设置为已删除.在关闭时间内设置CRON作业以运行查询以获取状态为已删除的帖子并在当时删除所有内容.

刚注意到@Berril在他的评论中提出了同样的建议.

另外,删除15,000行真的需要很长时间吗?

DELETE FROM `table` WHERE post_id = x
Run Code Online (Sandbox Code Playgroud)

似乎会快速执行,但没有看到数据结构,很难说肯定.