查詢懸置 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

查詢懸置

您的查詢可以因下列原因掛起或停止回應。我們建議使用以下疑難排解方法。

對資料庫的連線已丟棄

減少最大傳輸單位的大小 (MTU)。MTU 大小決定可透過網路連線在一個乙太網路框架中傳輸的封包大小上限,以位元組為單位。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的已中斷與資料庫的連線

對資料庫的連線逾時

執行長查詢時,您對資料庫的用戶端連線似乎已暫停或逾時,例如 COPY命令。在此情況下,您可能會發現 Amazon Redshift 主控台顯示查詢已完成,但用戶端工具本身仍似乎在執行查詢。取決於連線停止的時間,查詢的結果可能遺漏或不完整。當中繼網路元件終止閒置的連線時,會發生此影響。如需詳細資訊,請前往《Amazon Redshift 管理指南》中的防火牆逾時問題

用戶端 out-of-memory錯誤發生在 ODBC

如果您的用戶端應用程式使用ODBC連線,且查詢建立的結果集太大而無法容納記憶體,您可以使用游標將結果集串流至用戶端應用程式。如需詳細資訊,請參閱 DECLARE使用游標時的效能考量

用戶端 out-of-memory錯誤發生在 JDBC

當您嘗試透過JDBC連線擷取大型結果集時,您可能會遇到用戶端 out-of-memory錯誤。如需詳細資訊,請參閱設定JDBC擷取大小參數

可能有死鎖

如果有可能的死鎖,請嘗試下列:

  • 檢視 STV_LOCKSSTL_TR_CONFLICT 系統資料表來尋找牽涉到對超過一個資料表進行更新的衝突。

  • 使用 PG_CANCEL_BACKEND 函數來取消一或多個有衝突的查詢。

  • 使用 PG_TERMINATE_BACKEND 函數來終止工作階段,它可強制終止的工作階段中任何目前執行中的交易釋出所有鎖定和復原交易。

  • 排程並行寫入操作時務必謹慎。如需詳細資訊,請參閱管理並行寫入操作