--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/17 07:38:24 2316 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/db/DatabaseLayer.java 2015/02/17 09:17:40 2323 @@ -33,34 +33,28 @@ List
list = new ArrayList
(2600000);//initial capacity 2.6 mio - DeduplicateHelper vejnavne = new DeduplicateHelper(); - DeduplicateHelper distributorer = new DeduplicateHelper(); + DeduplicateHelper vejnavnCache = new DeduplicateHelper(); + DeduplicateHelper husnrbogstavCache = new DeduplicateHelper(); + DeduplicateHelper distributorCache = new DeduplicateHelper(); + DeduplicateHelper korelisteCache = new DeduplicateHelper(); + DeduplicateHelper ruteCache = new DeduplicateHelper(); while (res.next()) { - // Cache String instanserne for vejnavne for at mindske hukommelses forbruget - String dbVejnavn = res.getString(2); - String vejnavn = vejnavne.getInstance(dbVejnavn); - - // Cache String instanserne for distributor for at mindske hukommelses forbruget - // (De-dubblicate) - String dbDistributor = res.getString(2); - String distributor = distributorer.getInstance(dbDistributor); - Address a = new Address(); a.id = res.getInt(1); - a.vejnavn = vejnavn; + a.vejnavn = vejnavnCache.getInstance( res.getString(2) ); a.husnr = res.getInt(3); - a.husnrbogstav = res.getString(4); + a.husnrbogstav = husnrbogstavCache.getInstance( res.getString(4) ); a.kommunekode = res.getInt(5); a.vejkode = res.getInt(6); a.postnr = res.getInt(7); a.gadeid = res.getLong(8); - a.distributor = distributor; + a.distributor = distributorCache.getInstance(res.getString(9)); a.dbkBane = res.getInt(10); - a.koreliste = res.getString(11); - a.rute = res.getString(12); + a.koreliste = korelisteCache.getInstance( res.getString(11) ); + a.rute = ruteCache.getInstance( res.getString(12) ); //a.vasketVejnavn = AddressUtils.vaskVejnavn(a.vejnavn); @@ -102,13 +96,16 @@ ResultSet res = stmt.executeQuery(sql); + DeduplicateHelper transportCache = new DeduplicateHelper(); + List list = new ArrayList( 350000); //Initial capacity 350K - while (res.next()) { + while (res.next()) { + ExtendedBean eb = new ExtendedBean(); eb.orgId = res.getInt(1); eb.targetId = res.getInt(2); eb.afstand = res.getDouble(3); - eb.transport = res.getString(4); + eb.transport = transportCache.getInstance(res.getString(4)); list.add(eb); } @@ -132,11 +129,14 @@ Map map = new HashMap(); + DeduplicateHelper distributorCache = new DeduplicateHelper(); + while (res.next()) { + HundredePctBean bean = new HundredePctBean(); bean.postnr = res.getInt(1); - bean.distributor = res.getString(2); + bean.distributor = distributorCache.getInstance(res.getString(2)); bean.rute = res.getString(3); bean.koreliste = res.getString(4); bean.dbkBane = res.getInt(5);