下面是我的代码片段
PreparedStatement preStatement = conn.prepareStatement(query);
System.out.println("preparing sql ststement: " + query);
ResultSet result = preStatement.executeQuery();
System.out.println(" result stored in result set ");
while(result.next()){
try{
int readCount = 0;
oracle.sql.BLOB blob=((OracleResultSet)result).getBLOB("payload");
InputStream in=blob.getBinaryStream();
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(in));
String total="";
String str;
while ((str = br.readLine()) != null) {
total += str;
//System.out.println(total);
}
System.out.println(total);
in.close();
该行ResultSet result = preStatement.executeQuery();
大约需要 1 分钟才能执行。但是,将 Blob 数据转换为文本字符串需要 4 分钟以下是代码的一部分
oracle.sql.BLOB blob=((OracleResultSet)result).getBLOB("payload");
InputStream in=blob.getBinaryStream();
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(in));
String total="";
String str;
while ((str = br.readLine()) != null) {
total += str;
//System.out.println(total);
}
然后,基于结果集列存储在 hashmap 中,在“total”中完成对字符串的搜索。
有人可以建议如何加快处理速度吗?