我在Java中使用BoneCP和MySQL。
我有几个线程,加班他们将从池请求连接以执行一些查询。查询是重复的,所以我想使用准备好的语句。
我之前使用过预备语句,当时我只使用一个连接(并且没有汇集)。但是现在我已经合并了,我不确定它是如何完成的:
就我而言,准备好的声明与特定的Connection
实例相关联。如果将连接返回到池,则会(或应该)销毁准备好的语句。我的线程只在需要进行查询时请求连接 - 它们在完成后返回它,这样它们就不会长时间保留任何连接。
如何使用预准备语句和连接池?
答案 0 :(得分:1)
我个人建议禁用池级PreparedStatement缓存,并在驱动程序级别启用它。 You can read here how to do it.
答案 1 :(得分:0)
没有为你做任何事。正确的方法是在您完成所有SQL资源后立即清理它们。您应该在尽可能最窄的方法范围内使用它们。
JDBC驱动程序可以缓存PreparedStatements
,但这不是问题。