我需要编写一个 Java 应用程序(基于 Web),它将连接到 Oracle 11G 数据库(当前正在连接 10-12 个不同的 Oracle 数据库),从中读取一些数据(都是选择查询)。
迭代此数组列表后,我连接每个数据库,触发选择查询(我为所有数据库触发相同的查询),获取记录,将其放入一个全局集合列表中并关闭连接并在此循环中继续相同的过程。
目前我是连接多个数据库的“执行者”。再次使用 ExecutorService executor = Executors.newFixedThreadPool(20);
给我一个惊喜。对于创建第一个数据库连接,它会显示即时日志,但对于后续数据库连接,它会在 60 秒后打印日志,所以我不明白为什么所有连接都需要 60 秒或更长时间?从逻辑上讲,所有连接都应该花费时间。
请建议此应用程序的性能改进。