我正在为Microsoft SQL Server 2012(sqljdbc_4.0)使用JDBC驱动程序,尽管Connection
实例是线程安全的,但Statement
实例似乎不是(特别是PreparedStatement
)。针对Scala的JDBC PreparedStatement池
我正在使用Scala .par.foreach
方法调用一些集合,然后执行PreparedStatement
实例。我目前在.foreach
的关闭中创建新的PreparedStatement
实例来处理每个项目,因为它们不是线程安全的。
每个PreparedStatement
查询都是相同的,用不同的值代替问号参数(?
)。我想知道是否有任何方法可以创建一个PreparedStatement
实例池,该实例的大小等于并行集合使用的线程数,然后仅对每个迭代的闭包重复使用一个空闲实例,然后将它们返回到池中重用。