私は2つのデータベーステーブルを持っています。 1つのテーブルはWordPress(wp_post
)にあり、私のWordPressサイトからのすべての投稿を含んでいます。 2番目のテーブルはアプリケーションロジック用であり、プラグインを使用して作成された投稿のIDを格納します。SQLはサブクエリを使用して多くのエントリを削除します
私のアプリケーションロジックテーブルには約70,000のIDがあり、1つの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を取得してすべての投稿を削除する別の方法はありますか?
私は、wp_delete_post
などのようないくつかのWordPressの機能があることを知っています。しかし、その量の投稿を削除すると、本当に遅くなります。あなたが削除しようとすることができ
セレクトの最後に 'LIMIT 1000 'を追加して、それを繰り返すだけで、すべてのエラーやヒットタイムエラーが発生するまでリミットサイズを増やすことができます。 – Tigger