millones de filas

belmond
26 de Enero del 2004
Hola, estoy haciendo una aplicación que tiene que trasvasar millones de filas diariamente de un servidor mysql a otro, con alguna pequeña transformación por medio. El problema es que según he leído mysql no mantiene cursores cuando lee, y por tanto el driver jdbc se trae todas las filas a memoria cada vez que hago una consulta.
Como me quedaba sin memoria, probé a hacer consultas parciales con LIMIT, pero resulta que sigo quedándome sin memoria. He probado a pasarle un profiler a la aplicación, y parece que el problema está en la lectura a través de red... se crean arrays de bytes a saco que luego se mantienen en memoria.
¿a alguien se le ocurre alguna solución?

Gracias por adelantado!

David Hernandez
26 de Enero del 2004
Te recomiendo hacer un Mysqldump pero con la sintaxis de -q (--Quick ) vacia el resultado directamente a Stdout en lugar del bufer, esto es muy necesario si no se cuenta con mucha memoria en el sistema.
Slaudos.
Bye