准备语句的数据库连接

时间:2010-02-03 23:50:33

标签: mysql odbc timeout connection prepared-statement

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

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

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

这样做有意义吗?

看起来准备好的语句是在连接的基础上创建的。

目前的解决方案是:

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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