--- dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2015/02/19 13:39:33 2328 +++ dao/FuldDaekningWorker/src/dk/daoas/fulddaekning/Database.java 2015/03/03 08:52:39 2424 @@ -144,12 +144,11 @@ return new ConcurrentLinkedQueue(postListe); } - - public Adresse[] hentDaekkedeAdresserCache( BoundingBox bbox) { + public Adresse[] hentDaekkedeAdresserCache( BoundingBox bbox, Adresse adresseListe[] ) { long start = System.currentTimeMillis(); ArrayList list = new ArrayList(); - for (Adresse a : alleAdresser) { + for (Adresse a : adresseListe) { if ( a.latitude > bbox.latitudeMin && a.latitude< bbox.latitudeMax && a.longitude> bbox.longitudeMin && a.longitude < bbox.longitudeMax) { list.add(a); } @@ -158,6 +157,13 @@ logger.info("Elapsed cache: " + (stop - start)); return list.toArray( new Adresse[ list.size() ] ); } + + + public Adresse[] hentDaekkedeAdresserCache( BoundingBox bbox) { + return hentDaekkedeAdresserCache(bbox, alleAdresser); + } + + public Adresse[] hentAlleDaekkedeAdresser() throws SQLException { @@ -172,7 +178,6 @@ // Forward only + concur_read_only + fetchsize tvinger driver til at hente en række af gangen (bedre performance ved store result sets) // Se http://dev.mysql.com/doc/connector-j/en/connector-j-reference-implementation-notes.html - //PreparedStatement stmt = conn.prepareStatement(sql); PreparedStatement stmt = conn.prepareStatement(sql, java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); stmt.setFetchSize(Integer.MIN_VALUE); @@ -217,7 +222,7 @@ saveStmt.addBatch(); batchCount++; - if (batchCount >= 100) { + if (batchCount >= 1000) { saveStmt.executeBatch(); batchCount = 0; } @@ -305,7 +310,7 @@ // ////////////////////////////////////////////////////////////////// - + /* @Deprecated private BoundingBox getBoundingboxFromDb_old(String postnr) throws SQLException { String minPostnr = postnr.replace('x', '0'); @@ -401,7 +406,7 @@ "AND rute is null " + // Træk kun liste på postnumre hvor der er ikke-dækkede adresser "GROUP BY postnr " + "ORDER by postnr"; - */ + * / String sql = "SELECT rpad(left(postnr,?),'4', 'x') as postnr2 " + @@ -433,7 +438,7 @@ //list.add(8700); return list; - } + }*/ }