Hej, próbuję wprowadzić około 600000 tokenów do mojej tabeli bazy danych MySQL. Silnik, którego używam, to InnoDB. Proces aktualizacji trwa wiecznie :(Tak więc domyślam się, że kompletnie czegoś mi brakuje w kodzie i że to, co robię, jest po prostu głupie.Aktualizacje MySQL trwają wiecznie.
Być może ktoś ma spontaniczne pojęcie o tym, co wydaje się jeść moją wydajność:
Oto mój kod:
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();
}
}
dziękuję
lub to, powinny mieć ten sam efekt, bazując na bazie danych. – Nicolas78
To są świetne odpowiedzi ... To smutne, że mogę zaakceptować tylko jedną zaakceptowaną odpowiedź, ponieważ to, co naprawdę poradziło sobie, to kombinacja wszystkich. Zbiorniki ponownie @ Wszystkie – evermean