PostgreSQL删除大量数据实践

-- 当数据库在有约束的情况下,无论进行删除或者更新操作,都会对相关表进行一个校验,判断相关表的相关记录是否被删除或者更新。
-- 在删除大量数据时,可以先禁用触发器,然后再进行删除。最后再优化一下表空间

-- 1.禁用触发器
ALTER TABLE table_name DISABLE TRIGGER ALL;

-- 2.DELETE
DELETE FROM table_name WHERE ... -- 3.启用触发器 ALTER TABLE table_name ENABLE TRIGGER ALL; -- 4.优化表空间 -- 维护数据库磁盘,释放空间 vacuum FULL table_name; -- 5.重建索引,替换查询效率 REINDEX TABLE table_name;

Copyright © 2021 Primzahl. All rights reserved.

原文地址:https://www.cnblogs.com/Primzahl/p/13547870.html