gpt4 book ai didi

java - 尝试从大数据集中获取数据

转载 作者:行者123 更新时间:2023-12-01 13:48:05 25 4
gpt4 key购买 nike

我正在为我们的一个客户开发一个应用程序,使用 Java 1.7 + GAE,并使用 Google 云 sql 和数据库。

我试图从巨大的结果集中获取数据,但我得到的唯一结果是可怕的超时。

到目前为止,我的代码如下:

public List <String> leerMasivo(String cadena, String [] valores) throws SQLException{
log.info("Entra en la función leer(String cadena, String [] valores)");
this.conectar();
long nRowsNumber = 1;
long nId = 0;
List <String> listaDatos = new ArrayList <String> ();
try{
while (nRowsNumber > 0) {
nRowsNumber = 0;
PreparedStatement stmt = con.prepareStatement(cadena, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
stmt.setMaxRows(10);

System.out.println("Número de filas maximo "+stmt.getMaxRows());
if(valores != null){
for(int i=0; i< valores.length;i++){
stmt.setString(i+1,valores[i]);
}
}
ResultSet rs = stmt.executeQuery();
ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
int numeroColumnas= rsmd.getColumnCount();

while (rs.next()){
++nRowsNumber;
nId = rs.getLong(1);
if (numeroColumnas >1){
String fila ="";
for (int i=1;i<=numeroColumnas;i++){
fila=fila + "::" + rs.getString(i);
}
fila=fila+"%%";
listaDatos.add(fila);
}else{
listaDatos.add(rs.getString(1));
}
}
}
log.info("Los valores leidos son: " + listaDatos.toString());
}catch(Exception e){
log.info("Ha ocurrido un error" );
log.info("el error es " + e.getMessage().toString());
con.close();
e.printStackTrace();
}finally{
this.cerrarConexion();
}
log.info("Sale de la función leer(String cadena, String [] valores)");

return listaDatos;

}

如果您有时间,我需要告诉我还剩下什么,以便我可以获得所需的数据而不会出现超时错误。现在我不知道我可能会错过什么。

感谢您的宝贵时间,

亲切的问候,

最佳答案

这里有多种选择:

关于java - 尝试从大数据集中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20193899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com