Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 JDBC 擷取大小參數
根據預設,Redshift JDBC 驅動程式會使用環形緩衝區來有效管理記憶體,並防止out-of-memory錯誤。擷取大小參數僅適用於明確停用環緩衝區的情況。如需詳細資訊,請檢閱連結。在此組態中,您應該設定擷取大小,以控制每個批次中要擷取的資料列數量。
何時使用擷取大小?
在下列情況下使用擷取大小參數:
-
您需要精細控制以資料列為基礎的批次
-
使用需要傳統擷取大小行為的舊版應用程式
設定擷取大小
停用環形緩衝區時,JDBC 驅動程式預設會一次收集查詢的所有結果。傳回大型結果集的查詢可能會耗用過多的記憶體。若要以批次而非一次全部擷取結果集,請在應用程式中設定 JDBC 擷取大小參數。
注意
ODBC 不支援擷取大小。
為求最佳效能,請將擷取大小設定為不會導致記憶體不足錯誤的最高值。較低的擷取大小值會造成更多伺服器來回行程,進而延長執行時間。伺服器會預留資源,包括 WLM 查詢位置和關聯的記憶體,直到用戶端擷取整個結果集或查詢取消為止。適當地調校擷取大小時,那些資源會更快速釋出,使得它們可供其他查詢使用。
注意
如果您必須擷取大型資料集,建議使用 UNLOAD 陳述式來將資料傳輸至 Amazon S3。使用 UNLOAD 時,運算節點會平行運作,以加速資料的傳輸。
如需設定 JDBC 擷取大小參數的相關資訊,請前往 PostgreSQL 文件中的根據游標取得結果