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