【问题标题】:Singleton connection + singleton prepared statement单例连接 + 单例准备好的语句
【发布时间】:2013-10-17 10:54:14
【问题描述】:

我正在用 MySQL 服务器实现一个服务器。

我得出的结论是,我的所有查询都将使用准备好的语句发送。

我将为不同的目的制作多个单例准备语句(例如,选择令牌、插入/替换令牌、插入电话号码......)。

这是我的问题。

  1. 为了使单例预处理语句表现良好,我是否应该在每次执行查询时关闭它? (仅关闭 ResultSet,不关闭准备好的语句或连接)

  2. 单例预处理语句会比每次都创建一个语句更好吗?

【问题讨论】:

    标签: java mysql performance jdbc singleton


    【解决方案1】:

    简单的答案 - 每次都创建和关闭语句

    如果您没有实现非常专业的批处理功能,那么创建和关闭准备好的语句将是一个微不足道的开销。

    对于服务器应用程序来说,单例连接也不是一个好主意。任何时候只有一个线程可以处理一个连接。

    【讨论】:

    • 这取决于正在使用的 JDBC 驱动程序以及是否正在使用连接池。如果驱动程序和池都没有缓存语句,那么您将失去准备好的语句的好处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多