在PostgreSQL中删除数百万行的有效方法

时间:2018-03-21 22:36:22

标签: sql postgresql sql-delete delete-row sql-execution-plan

我是PostgreSQL的新手,所以我很感谢你的帮助。

我需要从表中删除超过1000万行,这些行有大约2000万行。因为前4百万有一些依赖项,我想删除没有任何依赖项的那些(在我的例子中,id超过3999999的行)。

我试过这个:

DELETE FROM public.orders
    WHERE public.orders.id > 3999999;

所以我试过这个:

BEGIN;
EXPLAIN ANALYZE DELETE FROM public.orders
    WHERE public.orders.id > 3999999;
ROLLBACK;

不幸的是,在两种情况下执行它都需要永恒!你能给我任何建议让它更有效率吗?

非常感谢!

0 个答案:

没有答案