
Lentitud en Resulset
Publicado por Christian (1 intervención) el 10/04/2014 16:48:29
Estimados,
Yo me he conectado a varias bases de datos he realizado consultas sin problema. Cuando el resultado de la sentencia no es muy largo menos de 1000 registros.
Pero si trabajo desde 50000 registros en adelante, es muy lento. El siguiente es el codigo con el que estoy trabajando:
static Statement stmC = null;
static ResultSet rs = null;
stmC = Conexion.conDB2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//stmt = Conexion.conDB2.prepareStatement(sentencia);
rs = stmC.executeQuery(sentencia);
while (rs.next()){
ArrayList<String> datosOriginal = new ArrayList<String>();
int col=1;
try {
while(true){
datosOriginal.add(rs.getString(col));
col++;
}
} catch (SQLException e) {
System.err.println(e.getMessage());
}
He verificado que al recorrer cada elemento se demora demasiado. Y necesito sacar todos los datos para poder enviarlos a una nueva tabla.. segmentados.
Al poner los parametros :
createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY).
Es lo mas rapido que he logrado...
QUisiera que me ayuden..
Otra pregunta... Yo trabajo con netbeans.. Aunque en este asecto no tendria mucho que ver o me equivoco.
Cuando entro en netbeans en servicios --- bases de datos y realizo la conexion y luego la misma consulta. Me presenta los resultados inmediatamente.. Yo puedo hacer lo mismo y como???
Gracias
Yo me he conectado a varias bases de datos he realizado consultas sin problema. Cuando el resultado de la sentencia no es muy largo menos de 1000 registros.
Pero si trabajo desde 50000 registros en adelante, es muy lento. El siguiente es el codigo con el que estoy trabajando:
static Statement stmC = null;
static ResultSet rs = null;
stmC = Conexion.conDB2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//stmt = Conexion.conDB2.prepareStatement(sentencia);
rs = stmC.executeQuery(sentencia);
while (rs.next()){
ArrayList<String> datosOriginal = new ArrayList<String>();
int col=1;
try {
while(true){
datosOriginal.add(rs.getString(col));
col++;
}
} catch (SQLException e) {
System.err.println(e.getMessage());
}
He verificado que al recorrer cada elemento se demora demasiado. Y necesito sacar todos los datos para poder enviarlos a una nueva tabla.. segmentados.
Al poner los parametros :
createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY).
Es lo mas rapido que he logrado...
QUisiera que me ayuden..
Otra pregunta... Yo trabajo con netbeans.. Aunque en este asecto no tendria mucho que ver o me equivoco.
Cuando entro en netbeans en servicios --- bases de datos y realizo la conexion y luego la misma consulta. Me presenta los resultados inmediatamente.. Yo puedo hacer lo mismo y como???
Gracias
Valora esta pregunta


0