我在 postgresql 中创建了名为genrate_report()
的函数,该函数包含各种查询,包括create table , joins , update, alter
等,工作正常,并且 400 ms 执行低数据并减少连接。
现在数据正在增加,现在 300000毫秒(大约5分钟)仍在运行。然后我停止它并开始逐个运行查询。我想知道单一查询drop table if exists fk_pay_cal;
需要 781650毫秒并且仍在运行。
这个服务器错误了吗? 或者postgres连接太多了? (远程PgAdmin有4个连接)
还是其他任何东西?
答案 0 :(得分:0)
如果你想加快这个过程,那么你需要删除表中的所有约束,就像你试图删除表时那样,它首先检查表上的约束,这需要花费时间。
答案 1 :(得分:0)
TRUNCATE
将闲置,直到没有其他使用目标表的会话为止。
查看this great stackexchange answer进行更详细的解释。