我有一个代码,它管理ArrayList<priceItem>
并使用preparedStatement将每个项目指向MySQL。我不知道如何提高此代码的速度。我尝试使用.addBatch()
,但它没有帮助。这是代码。
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
preparetStmt = connection.prepareStatement(INSERT_NEW);
for (int i = 0; i < priceItems.size(); i++) {
preparetStmt.setString(1, priceItems.get(i).getName());
preparetStmt.setString(2, priceItems.get(i).getQuantity());
preparetStmt.setString(3, priceItems.get(i).getCost());
preparetStmt.setString(4, priceItems.get(i).getAnnotation());
preparetStmt.addBatch();
}
preparetStmt.executeBatch();
if (!connection.isClosed()) {
System.out.print("DB is closed.");
}
} catch (SQLException e) {
e.printStackTrace();
}
帮助我找到提高加载此语句速度的方法。对于1500件物品,它花了2分钟以上。我需要发送超过150K的物品。
答案 0 :(得分:1)
许多改进此代码的方法: