PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Transmita linhas do PostgreSQL (com tamanho de busca)


No momento usando spring todos os dados são recuperados e o Stream é aplicado apenas aos dados já na memória.

Se você olhar para a fonte de org.springframework.data.jpa.provider.PersistenceProvider parece que ele usa um ScrollableResults para transmitir os dados.

Geralmente um ScrollableResults recuperar todos os dados na memória.

Você pode encontrar uma análise completa interessante usando um banco de dados MySql aqui , mas provavelmente o mesmo funciona para um banco de dados Postgres.

Assim também, se você pensa em usar uma solução que não precisa usar muita memória na realidade, isso acontece porque a implementação subjacente não está usando uma implementação ideal.