簡體   English   中英

在PostgreSQL中刪除查詢花費的時間太長?

[英]drop query taking too long time in postgresql?

我在PostgreSQL中創建了名稱為genrate_report()函數, genrate_report()函數具有各種查詢,包括create table , joins , update, alter等。這些函數可以正常工作,並在大約400毫秒的時間內對低數據執行並且連接較少。

現在數據正在增加,現在為300000 ms(大約5分鍾),並且仍在運行。 然后我停止了,開始一個接一個地運行查詢。 我想知道單滴查詢drop table if exists fk_pay_cal; 需要781650毫秒,並且仍在運行。

這是服務器錯誤嗎? 還是postgres連接過多? (遠程PgAdmin有4個連接)

還是其他東西?

如果要加快此過程,則需要從表中刪除所有約束,就像在嘗試刪除表時那樣,那么它首先要檢查表上的約束,這會花費一些時間。

TRUNCATE將保持空閑狀態,直到沒有其他使用目標表的會話為止。 查看這個很棒的stackexchange答案 ,更詳細地解釋事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM