我在 postgres 数据库中有两个表,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
)
有没有更有效的方法来做到这一点?