3
我有大約40個Web服務,並且每個服務都有以下代碼來從數據庫中獲取結果。我最多隻能從數據庫中檢索大約200行,比這少數多。然而,一位開發人員告訴我,這個代碼效率不高,尤其是getColumnName
方法,這個方法很昂貴。我只是認爲我會用getColumnName
作爲關鍵,因爲它是描述性的。有沒有更有效的方法來做同樣的事情?如果是這樣,我怎樣才能讓這個效率更高?我應該研究哪些設計模式以使其更好?提前致謝。高效的Java結果集編碼方式
try{
...
//Open Db Connection
...
ResultSet rs = stmt.executeQuery(QueryClass.getQuery());
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
while(rs.next()){
HashMap<String, Object> map = new HashMap<String, Object>(columnCount);
for (int i = 1; i <= columnCount; i++) {
map.put(rsmd.getColumnName(i), rsmd.getObject(i));
}
//add to arraylist
list.add(map);
}
} catch(SQLException e){
.....
}
你有基準,看到一個性能問題? –
是的,我進行了基準測試,但沒有看到性能問題。鑑於我的同行的評論,我認爲會有更好的方式來寫這個。當我問她爲什麼認爲這樣做效率低下,以及如何讓這件事變得更好時,她不會給我一個答案。 –
所以你證明她錯了,缺乏答案表明她不知道她在說什麼。列名作爲查詢結果的一部分返回:這就是爲什麼它可用。不要擔心這一點。數據庫操作和網絡流量完全支配這裏的運行時間。 – EJP