Tại thời điểm sử dụng Spring, tất cả dữ liệu sẽ được truy xuất và Luồng chỉ được áp dụng cho dữ liệu đã có trong bộ nhớ.
Nếu bạn nhìn vào nguồn của org.springframework.data.jpa.provider.PersistenceProvider
có vẻ như nó sử dụng ScrollableResults
để truyền qua dữ liệu.
Nói chung là ScrollableResults
truy xuất tất cả dữ liệu trong bộ nhớ.
Bạn có thể tìm thấy một phân tích hoàn chỉnh thú vị bằng cách sử dụng cơ sở dữ liệu MySql tại đây , nhưng có lẽ điều tương tự cũng hoạt động đối với cơ sở dữ liệu Postgres.
Vì vậy, cũng có thể nếu bạn nghĩ rằng sử dụng một giải pháp không cần sử dụng nhiều bộ nhớ trong thực tế, nó sẽ làm được điều đó bởi vì việc triển khai cơ bản không sử dụng một cách triển khai tối ưu.