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 © 2024 Primzahl. All rights reserved.