sql >> Database >  >> RDS >> PostgreSQL

Stream rijen van PostgreSQL (met ophaalgrootte)

Op het moment dat spring wordt gebruikt, worden alle gegevens opgehaald en wordt de stream alleen toegepast op gegevens die al in het geheugen staan.

Als je kijkt naar de bron van org.springframework.data.jpa.provider.PersistenceProvider het lijkt erop dat het een ScrollableResults . gebruikt om over de gegevens te streamen.

Over het algemeen een ScrollableResults haal alle gegevens in het geheugen op.

U kunt een interessante volledige analyse vinden met behulp van een MySql-database hier , maar waarschijnlijk werkt hetzelfde voor een Postgres-database.

Dus ook als u denkt een oplossing te gebruiken die niet veel geheugen hoeft te gebruiken, is dat in werkelijkheid het geval omdat de onderliggende implementatie geen optimale implementatie gebruikt.



  1. Som op een linker join SQL

  2. Amazon RDS Point-in-Time Recovery vergelijken met ClusterControl

  3. Mysql FIND_IN_SET in waar-clausule

  4. Probleem bij het bestellen van tekens met accenten in PostgreSQL 8.4