【发布时间】:2022-02-08 05:10:18
【问题描述】:
我有一个要求,我必须从数据库中获取 5000 条记录并检查 mongo 中每个 Id 的状态。如果状态不是活动的,那么它应该从 SQL 表中删除该记录。目前如何优化它需要 4 分钟,我正在使用链表从 SQL 中获取数据..
【问题讨论】:
-
如果您不向我们展示原始代码,就很难提出改进建议。
标签: java optimization jdbc
我有一个要求,我必须从数据库中获取 5000 条记录并检查 mongo 中每个 Id 的状态。如果状态不是活动的,那么它应该从 SQL 表中删除该记录。目前如何优化它需要 4 分钟,我正在使用链表从 SQL 中获取数据..
【问题讨论】:
标签: java optimization jdbc
我建议在您的代码中放置日志语句来计时每个任务需要多长时间。
long start=System.currentTimeMillis();
// fetch records from SQL database
long duration1=System.currentTimeMillis()-start;
System.out.println(duration1 + " ms to fetch from SQL");
如果您的初始提取占用了您的时间,那么您可能需要向数据库添加索引。如果您通过慢速网络访问 mongo,那么并行运行多个查询会加快速度。如果 mongo 本身很慢,那么您可能需要在 mongo 中为您正在查询的字段建立索引。
为每个操作计时将帮助您缩小应用程序中行为缓慢的部分。
【讨论】: