21 |
|
|
22 |
String sql = "SELECT id,vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,upper(distributor) AS distributor,dbkbane,koreliste,rute " |
String sql = "SELECT id,vejnavn,husnr,husnrbogstav,kommunekode,vejkode,postnr,gadeid,upper(distributor) AS distributor,dbkbane,koreliste,rute " |
23 |
+ "FROM fulddaekning.adressetabel " |
+ "FROM fulddaekning.adressetabel " |
24 |
//+ "WHERE postnr >=2000" //DEBUG only |
+ "WHERE gadeid IS NOT NULL " |
25 |
|
//+ "AND postnr = 8700" //DEBUG only |
26 |
; |
; |
27 |
|
|
28 |
Connection conn = DBConnection.getConnection(); |
Connection conn = DBConnection.getConnection(); |
29 |
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); |
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); |
30 |
|
stmt.setFetchSize(Integer.MIN_VALUE); |
31 |
ResultSet res = stmt.executeQuery(sql); |
ResultSet res = stmt.executeQuery(sql); |
32 |
|
|
33 |
List<Address> list = new ArrayList<Address>(2600000);//initial capacity 2.6 mio |
List<Address> list = new ArrayList<Address>(2600000);//initial capacity 2.6 mio |
34 |
|
|
35 |
|
Map<String,String> vejnavne = new HashMap<String,String>(); |
36 |
|
|
37 |
while (res.next()) { |
while (res.next()) { |
38 |
|
|
39 |
|
// Cache String instanserne for vejnavne for at mindske hukommelses forbruget |
40 |
|
String dbVejnavn = res.getString(2); |
41 |
|
String vejnavn = vejnavne.get(dbVejnavn); |
42 |
|
if ( vejnavn == null ) { |
43 |
|
vejnavn = dbVejnavn; |
44 |
|
vejnavne.put(vejnavn, vejnavn); |
45 |
|
} |
46 |
|
|
47 |
Address a = new Address(); |
Address a = new Address(); |
48 |
a.id = res.getInt(1); |
a.id = res.getInt(1); |
49 |
a.vejnavn = res.getString(2); |
a.vejnavn = vejnavn; |
50 |
a.husnr = res.getInt(3); |
a.husnr = res.getInt(3); |
51 |
a.husnrbogstav = res.getString(4); |
a.husnrbogstav = res.getString(4); |
52 |
a.kommunekode = res.getInt(5); |
a.kommunekode = res.getInt(5); |
78 |
} |
} |
79 |
|
|
80 |
public static List<ExtendedBean> getExtendedAdresslist() throws SQLException { |
public static List<ExtendedBean> getExtendedAdresslist() throws SQLException { |
81 |
|
|
82 |
String sql = "select orgid, a.id as targetid, afstand, LOWER(type) as type from fulddaekning.afstand_anden_rute a " + |
String sql = "select orgid, a.id as targetid, afstand, LOWER(type) as type from fulddaekning.afstand_anden_rute a " + |
83 |
"join odbc.transporttype t " + |
"join odbc.transporttype t " + |
84 |
"on t.Art = 'Transpost' " + |
"on t.Art = 'Transpost' " + |
94 |
|
|
95 |
Connection conn = DBConnection.getConnection(); |
Connection conn = DBConnection.getConnection(); |
96 |
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); |
Statement stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY, java.sql.ResultSet.CONCUR_READ_ONLY); |
97 |
|
stmt.setFetchSize(Integer.MIN_VALUE); |
98 |
|
|
99 |
ResultSet res = stmt.executeQuery(sql); |
ResultSet res = stmt.executeQuery(sql); |
100 |
|
|
101 |
List<ExtendedBean> list = new ArrayList<ExtendedBean>( 350000); //Initial capacity 350K |
List<ExtendedBean> list = new ArrayList<ExtendedBean>( 350000); //Initial capacity 350K |