Oye, estoy tratando de obtener alrededor de 600000 Tokens en mi tabla de base de datos MySQL. El motor que estoy usando es InnoDB. El proceso de actualización está demorando para siempre :(. Así que mi mejor versión es que me falta algo en mi código y que lo que estoy haciendo es simplemente estúpido.Las actualizaciones de MySQL tardan para siempre
Quizás alguien tenga una idea espontánea de lo que parece comer mi rendimiento:
Aquí está mi código:
public void writeTokens(Collection<Token> tokens){
try{
PreparedStatement updateToken = dbConnection.prepareStatement("UPDATE tokens SET `idTag`=?, `Value`=?, `Count`=?, `Frequency`=? WHERE `idToken`=?;");
for (Token token : tokens) {
updateToken.setInt(1, 0);
updateToken.setString(2, token.getWord());
updateToken.setInt(3, token.getCount());
updateToken.setInt(4, token.getFrequency());
updateToken.setInt(5, token.getNounID());
updateToken.executeUpdate();
}
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
muchas gracias
o esto, debería tener el mismo efecto, base de datos sabio – Nicolas78
Estas son todas excelentes respuestas ... es triste que solo puedo aceptar una como mi respuesta aceptada porque lo que realmente hizo el truco fue una combinación de todas. Tanques de nuevo @Todo – evermean