postgres データベースに 2 つのテーブルがありposts
、users
. 主キー列を参照posts
するuser_id
外部キーがあります。users.id
どちらのテーブルも非常に大きいです。
ランダムなユーザー セット (全ユーザーの約 80%) を削除したところ、削除されたユーザーを参照するすべての投稿を削除したいと考えています。これを行う最も効率的な方法は何ですか?
現在、私はこれを持っています:
DELETE FROM posts l
WHERE NOT EXISTS
(
SELECT NULL
FROM users r
WHERE r.id = l.user_id
)
これを行うより効率的な方法はありますか?