Ivan Nemeth created EMPIREDB-213:
------------------------------------
Summary: DBReader performance improvement with field caching
Key: EMPIREDB-213
URL: https://issues.apache.org/jira/browse/EMPIREDB-213
Project: Empire-DB
Issue Type: Improvement
Reporter: Ivan Nemeth
DBReader can be much faster for resultsets with many columns if the
getFieldIndex(ColumnExpr c) method uses some kind of caching. The following
code is 10 times faster for a resultset with 20000 rows and 70 columns.
public class MyDBReader extends DBReader {
private static final long serialVersionUID = 1L;
private Map<ColumnExpr, Integer> fieldIndices = new HashMap<ColumnExpr,
Integer>();
@Override
public int getFieldIndex(ColumnExpr column) {
Integer i = fieldIndices.get(column);
if (i == null){
i = super.getFieldIndex(column);
fieldIndices.put(column, i);
}
return i;
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)