Java プログラムで Oracle 10g からデータを読み込もうとしていますが、次のように列の 1 つが CLOB 型です (注: データは CLOB 型の列です)。
private final static String LOAD_QUERY
= "SELECT id, data FROM table WHERE id = ?";
public SomeObject loadById(long id){
SomeObject obj = null;
try {
obj = jdbcTemplate.queryForObject(LOAD_QUERY,
new ParameterizedRowMapper<SomeObject>() {
public Model mapRow(ResultSet rs, int rowNum) throws SQLException {
long id = rs.getLong("id");
String data = rs.getString("data");
return new SomeObject(id, data);
}
}, id);
} catch (Exception e) {
throw new SomeException("Error during SQL query", ErrorCode.INTERNAL_ERROR, e);
}
return obj;
}
CLOB に格納されるデータ サイズは 44Mb にもなります。CLOB 値を正常に取得できましたが、CPU 使用率に大きな打撃を与えています。Java VisualVM でプロファイラーを実行した後、IO の問題のようです。この問題を解決するにはどうすればよいですか? 前もって感謝します!