// 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;