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;

 

posted @ 2020-08-23 00:18  JeromePowell  阅读(2398)  评论(0编辑  收藏  举报