Blog de divulgación de Ciencia y Tecnología

Test 4: Batch Insert

// Test 4 : Obtención de tiempos en la inserción de 1 millon de registros
//        Optimización: Sin indices ni constraints + Nologging + autocommit false + Batch Insert
// Ejemplo de optimización de carga de datos en Oracle. 
// Jose Ramón Pascual 

importPackage(Packages.oracle.jdbc.driver);
java.sql.DriverManager.registerDriver (new OracleDriver());

var lote = 5000;
var i = 0;
try{
    var dbConn = java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","disrupcion", "tecnologica");    
    logger.info("COMIENZO Test4: "  +  DateUtil.getCurrentDate('yyyyMMddHHmmss'));
    dbConn.setAutoCommit(false);
    var prdStmt = dbConn.prepareStatement("insert into TABLA values (?,?)");
      for (i = 0; i < 1000000; i++) {
          prdStmt.setInt(1,i);       
        prdStmt.setString(2,"Cadena de texto del registro " + i);   
        prdStmt.addBatch();    
        
        if(i % lote == 0){
            prdStmt.executeBatch();    
            dbConn.commit();
        }
    
    }    
    prdStmt.executeBatch();    
    dbConn.commit();
    prdStmt.close();    
    logger.info("FIN Test4: "  +  DateUtil.getCurrentDate('yyyyMMddHHmmss'));
}catch(e){    
    logger.error("Se produjo un error : " + e);
}
prdStmt.close();
dbConn.close();
return;
Follow by Email
LinkedIn
Share
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad