我在Java中使用带有MySQL的BoneCP。
我有几个线程,超时后,它们将从池中请求连接以执行某些查询。查询是重复的,所以我想使用预准备语句。
我以前使用过预准备语句,当时我只处理一个连接(没有池化)。但现在我有了池化,我不确定它是如何做到的:
就我而言,预准备语句链接到特定的Connection实例。如果您将连接返回到池,则已准备好的语句将被销毁(或应该被销毁)。我的线程只在需要执行查询时才请求连接-它们在查询完成后返回连接,所以它们不会在很长一段时间内保持任何连接。
如何将预准备语句与连接池一起使用?
发布于 2014-12-05 13:37:28
我个人建议禁用池级PreparedStatement缓存,并在驱动程序级别启用它。You can read here how to do it.
发布于 2014-12-02 01:53:06
不会为你做任何事。正确的方法是在使用完所有SQL资源后立即清理它们。您应该在尽可能窄的方法范围内使用它们。
JDBC驱动程序可能会缓存PreparedStatements,但这不是问题。
https://stackoverflow.com/questions/27234175
复制相似问题