我正在从 PostgreSQL 表中删除 750k 行中的 130k。
第一次,花了8个小时才完成删除查询。
第二次,我向表中添加了一个索引,并重建了该索引。现在用了3个小时完成删除查询
第三次,我添加了以下行:
alter table contact disable trigger ALL;
delete from contact where ....;
alter table contact enable trigger ALL;
Run Code Online (Sandbox Code Playgroud)
删除行花了不到一秒钟的时间。即使没有与当前和外键表关联的触发器。
即使没有与表关联的触发器,这种快速查询性能的原因可能是什么?数据库级别还有其他类型的触发器吗?