Festlegen des JDBC-Parameters für die Abrufgröße - Amazon Redshift

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blog-Posting.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Festlegen des JDBC-Parameters für die Abrufgröße

Standardmäßig verwendet der Redshift-JDBC-Treiber einen Ringpuffer, um den Speicher effizient zu verwalten und Fehler zu vermeiden. out-of-memory Der Parameter für die Abrufgröße ist nur anwendbar, wenn der Ringpuffer explizit deaktiviert ist. Weitere Informationen finden Sie unter dem Link. In dieser Konfiguration sollten Sie die Abrufgröße so einstellen, dass gesteuert wird, wie viele Zeilen in jedem Stapel abgerufen werden.

Wann sollte Fetch Size verwendet werden?

Verwenden Sie den Parameter für die Abrufgröße, wenn:

  • Sie benötigen eine genaue Kontrolle über die zeilenbasierte Batchverarbeitung

  • Sie arbeiten mit älteren Anwendungen, die ein herkömmliches Verhalten beim Abrufen der Größe erfordern

Einstellung der Abrufgröße

Wenn der Ringpuffer deaktiviert ist, sammelt der JDBC-Treiber standardmäßig alle Ergebnisse für eine Abfrage gleichzeitig. Abfragen, die große Ergebnismengen zurückgeben, können übermäßig viel Speicherplatz beanspruchen. Um Ergebnismengen stapelweise und nicht alle auf einmal abzurufen, legen Sie in Ihrer Anwendung den Parameter JDBC-Abrufgröße fest.

Anmerkung

Abrufgröße wird für ODBC nicht unterstützt

Legen Sie die Abrufgröße auf den höchsten Wert fest, der nicht zu Fehlern aufgrund von unzureichendem Arbeitsspeicher führt, um die Leistung zu optimieren. Wenn der Wert für die Abrufgröße kleiner gewählt wird, führt dies zu mehr Übertragungsvorgängen zwischen Server und Client, was die Ausführungszeit vergrößert. Der Server reserviert Ressourcen wie den WLM-Abfrageplatz und den zugehörigen Arbeitsspeicher, bis der Client die Ergebnismenge abruft oder die Abfrage abgebrochen wird. Wenn die Abrufgröße richtig eingestellt ist, werden diese Ressourcen schneller wieder freigegeben und sind für andere Abfragen verfügbar.

Anmerkung

Wenn Sie große Datensätze extrahieren müssen, sollten Sie eine UNLOAD-Anweisung verwenden, um die Daten zu Amazon S3 zu übertragen. Wenn Sie UNLOAD verwenden, arbeiten die Datenverarbeitungsknoten parallel, um die Übertragung der Daten zu beschleunigen.

Weitere Informationen zum Festlegen des Parameters für die JDBC-Abrufgröße finden Sie unter Getting results based on a cursor in der PostgreSQL-Dokumentation.