【问题标题】:Using prepared statements with BoneCP在 BoneCP 中使用准备好的语句
【发布时间】:2015-01-29 19:11:40
【问题描述】:

我在 Java 中使用 BoneCP 和 MySQL。

我有几个线程,超时后他们会从池中请求一个连接来执行一些查询。查询是重复的,所以我想使用准备好的语句。

我之前使用过准备好的语句,当时我只使用一个连接(并且没有池)。但是现在我有池,我不确定它是如何完成的:

就我而言,准备好的语句链接到特定的Connection 实例。如果您将连接返回到池,则准备好的语句被(或应该)销毁。我的线程仅在需要进行查询时才请求连接 - 它们在完成后返回它,因此它们不会长时间保留任何连接。

如何将准备好的语句与连接池一起使用?

【问题讨论】:

    标签: java bonecp


    【解决方案1】:

    没有为你做任何事情。正确的做法是在使用完所有 SQL 资源后立即清理它们。您应该在尽可能窄的方法范围内使用它们。

    JDBC 驱动程序可能会缓存PreparedStatements,但这不是问题。

    【讨论】:

      【解决方案2】:

      我个人建议禁用池级别的 PreparedStatement 缓存,并在驱动程序级别启用它。 You can read here how to do it.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-14
        • 1970-01-01
        • 1970-01-01
        • 2014-06-22
        • 2016-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多