JDBC 建立连接时的性能

JDBC performance when connection is stablished

我想减少目前需要 2 小时的部分项目的时间。

它的编码方式是从一个 table 中取出近 700,000 个 UID,并将其传递给 16 个不同的线程。然后每个线程连接到 JDBC 并为 UID 逐行获取一行。它运行 700,000 个查询!每个线程 50k

因为它每行使用 3 到 4 个字段,所以我的计划是首先获取所需的字段并且不再连接到数据库。 我的担忧:

总体而言,您认为这将有助于提高性能还是您认为这无关紧要。由于需要测试而节省 5 分钟,这不值得。

那你觉得我应该走这条路还是更注重逻辑???

非常感谢

正如各种评论中所建议的那样,您应该分批加载记录。我不知道你的基础设施是如何配置的,但如果你使用云服务,数据库往返可能需要数百毫秒。

但是,这可能不是您唯一的问题。如果您还没有配置连接池,那么很可能您从多线程中一无所获,因为每个线程都在等待获取数据库连接。您的池大小应考虑可以同时建立的连接数(在这种情况下,听起来 17 可能是您的数字 - 主线程 1 个,工作线程 16 个 - 如果我正确理解你的体系结构)。