es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Paginación de Spring JPA a Stream

Actualmente estamos usando Cockroach DB, pero esto no admite devolver X registros a la vez, presumiblemente debido a la falta de soporte del cursor. Esto significa que al intentar transmitir un gran número (~ 10 millones) de registros, se devuelve un ResultSet completo por la DB, lo que hace que la aplicación se colapse debido a que se acaba la memoria.

Cockroach recomienda utilizar la paginación (preferiblemente keyset) para recuperar grandes cantidades de resultados, pero ¿hay alguna manera fácil de leer todas las páginas y devolver un Stream, sin cargar todos los resultados en la memoria en ningún momento?

¡Gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, CockroachDB no admite actualmente devolver X registros a la vez debido a la falta de soporte de cursor. Esto significa que al intentar transmitir un gran número de registros, se devuelve un ResultSet completo por parte de la BD, lo que puede provocar que la aplicación se quede sin memoria.

    Recomendamos utilizar la paginación (idealmente keyset) para recuperar grandes cantidades de resultados. Sin embargo, actualmente no hay una forma sencilla de leer todas las páginas y devolver un Stream sin cargar todos los resultados en memoria en algún momento.

Comments are closed.