【问题标题】:Database connection for prepared statements准备好的语句的数据库连接
【发布时间】:2011-01-12 21:00:27
【问题描述】:

使用 ODBC 连接到 mysql 数据库,连接在 8 小时后超时(默认值)。

为了让我的应用程序具有弹性,它必须重新创建此连接以发出准备好的语句查询。

是否可以为准备好的语句发出新的数据库连接?

这样做有意义吗?

似乎准备好的语句是在连接的基础上创建的。

目前的解决方案是:

  1. 重新连接
  2. 重新准备查询
  3. 执行查询

【问题讨论】:

    标签: mysql odbc timeout connection prepared-statement


    【解决方案1】:

    不,准备好的语句与连接相关联,而不是相反。您当前处理超时连接的方式很好。

    【讨论】:

    • 你能用一些相关的文件来确认吗?我试图搜索但找不到任何有用的东西。我想了解有关准备好的语句和数据库连接之间关系的更多信息。谢谢
    【解决方案2】:

    我认为,将与 SQL 数据库的连接打开 8 小时是一种不好的做法。您是否有一些长时间运行的操作,需要这么多时间?然后考虑在你的数据库中有一个存储过程,它应该将结果转储到一些临时表中,你可以稍后检查。

    但通常情况下,应用程序应该尽快释放连接(以及,啊,所有准备好的语句)。为了加快连接打开,您可以使用连接池(它也应该存在于 ODBC 中)。连接池将在将连接返回给应用程序之前检查连接是否“活动”,例如,请参阅 Java DBCPvalidationQuery 参数。

    【讨论】:

    • 是的,这是一个长期运行的过程。当数据流量变得非常低时,很少使用mysql连接。连接池是个好主意,感谢您的链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 2017-06-12
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多