我有兩個數據庫表。一張表來自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