PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zeilen aus PostgreSQL streamen (mit Abrufgröße)

Im Moment werden mit Spring alle Daten abgerufen und der Stream wird nur auf Daten angewendet, die sich bereits im Speicher befinden.

Wenn Sie sich die Quelle von org.springframework.data.jpa.provider.PersistenceProvider ansehen es scheint, dass es ein ScrollableResults verwendet um die Daten zu streamen.

Im Allgemeinen ein ScrollableResults alle Daten im Speicher abrufen.

Eine interessante vollständige Analyse finden Sie unter Verwendung einer MySql-Datenbank hier , aber wahrscheinlich funktioniert das gleiche für eine Postgres-Datenbank.

Also auch, wenn Sie daran denken, eine Lösung zu verwenden, die in Wirklichkeit nicht viel Speicher benötigt, weil die zugrunde liegende Implementierung keine optimale Implementierung verwendet.