【发布时间】:2014-11-21 07:01:55
【问题描述】:
我正在使用多个线程在不同的表中插入插入记录。另外,我正在使用批处理来插入记录以提高效率。
注意:要插入的记录数以百万为单位。
我的问题是我应该在这个多线程环境中使用连接池吗?
我的担忧:
每个线程都会运行一段时间来执行数据库操作。所以,如果我的连接池的大小是 2 并且线程数是 4,那么在给定的时刻只有 2 个线程会运行。因此,其他 2 个线程将在很长一段时间内获得连接,因为数百万条记录的数据库操作非常耗时。而且,这种连接池会阻碍使用多线程的目的。
【问题讨论】:
-
所以收集池的大小应该等于线程数。
-
那我们用connection-pool做什么呢?因为我们可以在不使用连接池的情况下创建 n 个连接。
-
建立连接非常耗时。最好只做一次。
标签: java database multithreading database-connection connection-pooling