gpt4 book ai didi

java - Iterator 或 foreach 的延迟

转载 作者:行者123 更新时间:2023-12-02 03:11:38 26 4
gpt4 key购买 nike

我有一个 ArrayList,其中有 1000 个插入 SQL 语句。但在执行时间上,此 ArrayList 的 Iterator 或(增强型 for 循环)的延迟需要 1 分钟。我的 JFrame 在此期间没有响应。我能做些什么?谢谢

 Iterator itr = stms.iterator();
while (itr.hasNext()) {

DB_STM.executeUpdate((String) itr.next());
}

最佳答案

foreach 内部仅使用 iterator,为了处理来自 JDBC 的批量更新和插入,您可以使用 addBatch() 进行批量更新和 PreparedStatementexecuteBatch(),如图 here

This issue just related to internal latency of loops. Are you agreewith me ?

不,我不同意。基本上,您的代码几乎没有设计问题。

(1) 您应该在后台处理批量且成本高昂(就时间而言)的操作(例如按照其他人的建议使用 SwingWorker)。

(2) 使用 JDBC addBatch()executeBatch() 减少数据库命中并提高性能。

关于java - Iterator 或 foreach 的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958128/

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