--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseCoverageUpdate.java 2016/04/26 17:37:56 3022 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/db/DatabaseCoverageUpdate.java 2016/04/26 18:57:25 3023 @@ -103,6 +103,7 @@ } public void saveNewAddresses(List
addresses) { + logger.info("DB::saveNewAddresses size:" + addresses.size() ); String sql = "INSERT IGNORE INTO fulddaekning.adressetabel " + @@ -180,7 +181,7 @@ public void updateAddresses(List
addresses) { logger.info("DB::UpdateAddresses size:" + addresses.size() ); - String sql = "UPDATE fulddaekning.adressetabel " + + /*String sql = "UPDATE fulddaekning.adressetabel " + "SET " + "RuteMa=?, KorelisteMa=?, " + "RuteTi=?, KorelisteTi=?, " + @@ -192,7 +193,33 @@ "Distributor=?, " + "DBKBane=?, " + "Aendret=now() " + - "WHERE id=? "; + "WHERE id=? ";*/ + String sql = "INSERT INTO fulddaekning.adressetabel " + + "(id, " + + "RuteMa, KorelisteMa, RuteTi, KorelisteTi, RuteOn, KorelisteOn, " + + "RuteTo, KorelisteTo, RuteFr, KorelisteFr, RuteLo, KorelisteLo, " + + "RuteSo, KorelisteSo, " + + "Distributor, DBKBane, Aendret, " + + "vejnavn,husnr,husnrbogstav,kommunekode,vejkode,gadeid,postnr) \n" + //Disse har ingen default value + "VALUES " + + "(?," + + "?,?,?,?,?,?," + + "?,?,?,?,?,?," + + "?,?," + + "?,?, now(), " + + "'',0,'',0,0,0,0 ) \n" + + + "ON DUPLICATE KEY UPDATE " + + "RuteMa=VALUES(RuteMa), KorelisteMa=VALUES(KorelisteMa), " + + "RuteTi=VALUES(RuteTi), KorelisteTi=VALUES(KorelisteTi), " + + "RuteOn=VALUES(RuteOn), KorelisteOn=VALUES(KorelisteOn), " + + "RuteTo=VALUES(RuteTo), KorelisteTo=VALUES(KorelisteTo), " + + "RuteFr=VALUES(RuteFr), KorelisteFr=VALUES(KorelisteFr), " + + "RuteLo=VALUES(RuteLo), KorelisteLo=VALUES(KorelisteLo), " + + "RuteSo=VALUES(RuteSo), KorelisteSo=VALUES(KorelisteSo), " + + "Distributor=VALUES(Distributor), " + + "DBKBane=VALUES(DBKBane) "; + @@ -203,31 +230,35 @@ int count = 0; for (Address addr : addresses) { - stmt.setString(1, addr.ruteMandag); - stmt.setString(2, addr.korelisteMandag); - stmt.setString(3, addr.ruteTirsdag); - stmt.setString(4, addr.korelisteTirsdag); - stmt.setString(5, addr.ruteOnsdag); - stmt.setString(6, addr.korelisteOnsdag); - stmt.setString(7, addr.ruteTorsdag); - stmt.setString(8, addr.korelisteTorsdag); - stmt.setString(9, addr.ruteFredag); - stmt.setString(10, addr.korelisteFredag); - stmt.setString(11, addr.ruteLordag); - stmt.setString(12, addr.korelisteLordag); - stmt.setString(13, addr.ruteSondag); - stmt.setString(14, addr.korelisteSondag); + stmt.setInt(1, addr.id); + stmt.setString(2, addr.ruteMandag); + stmt.setString(3, addr.korelisteMandag); + stmt.setString(4, addr.ruteTirsdag); + stmt.setString(5, addr.korelisteTirsdag); + stmt.setString(6, addr.ruteOnsdag); + stmt.setString(7, addr.korelisteOnsdag); + stmt.setString(8, addr.ruteTorsdag); + stmt.setString(9, addr.korelisteTorsdag); + stmt.setString(10, addr.ruteFredag); + stmt.setString(11, addr.korelisteFredag); + stmt.setString(12, addr.ruteLordag); + stmt.setString(13, addr.korelisteLordag); + stmt.setString(14, addr.ruteSondag); + stmt.setString(15, addr.korelisteSondag); - stmt.setString(15, addr.distributor); - stmt.setInt(16, addr.dbkBane); - stmt.setInt(17, addr.id); + stmt.setString(16, addr.distributor); + stmt.setInt(17, addr.dbkBane); + stmt.addBatch(); count++; - if (count >= 100) { + if ( (count%200) == 0) { stmt.executeBatch(); - count = 0; + + if ( (count%50000) == 0 ) { + logger.info("Update count " + count); + } } }