我有两个数据库表。一张表来自WordPress(wp_post
),其中包含我的WordPress网站的所有帖子。第二个表仅用于应用程序逻辑,并存储使用我的插件创建的帖子中的ID。SQL使用子查询删除大量条目
因此,在我的应用程序逻辑表中有大约70,000个ID,我想使用单个SQL语句删除所有帖子。这是我试过的语句:
DELETE FROM wp_posts WHERE ID in (SELECT post_id FROM wp_my_table WHERE post_id IS NOT NULL AND post_id > 0);
提交查询ALL的ID删除,但我的MySQL服务器响应的语句采用的时间太多量,并取消该语句的执行。是否有不同的方式来获得所有的ID和删除所有帖子?
我知道有一些WordPress的功能,如wp_delete_post
等 - 但是当删除这些数量的帖子,它真的很慢。
可以在选择的末尾添加“LIMIT 1000”,然后重复该操作并增加限制大小,直到完成全部或命中时间错误。 – Tigger