2009-08-16 65 views
1

我有一个运行24/7的java程序。它只能从上午9点到下午3点每3秒访问一次mysql数据库。在这种情况下,我应该何时打开和关闭MySql连接?Java的mysql连接时间

  1. 我应该每3秒打开关闭一次吗?

  2. 我应该在9.am开门,并在3.pm关门?

  3. 我应该在程序启动时打开一次,并且永远不要关闭它。但是当连接自动关闭并抛出异常时重新连接?

回答

3

为什么不简单地使用连接池。如果这太繁琐,因为连接会频繁使用,您可以重复使用同一个imho。

+0

我在想连接池一次只能连接多个连接。它可以帮助一个连接吗? – Prabu 2009-08-16 18:04:12

+0

连接池还可以管理与连接有关的其他事情,例如,在连接断开连接时自动重新连接。 – Jesper 2009-08-16 18:58:54

+0

我没有找到任何示例或文档在java独立应用程序中执行连接池。例如 – Prabu 2009-08-17 01:40:57

2
  1. 确实,建立和拆除MySQL连接相对便宜(与Oracle相比),每3秒做一次就浪费资源。我会缓存连接并保存每次创建新数据库连接的开销。
  2. 这很大程度上取决于情况。你是通过广域网连接的,是与其他应用程序共享的MySQL服务器,还是你是唯一的用户(或者至少你的应用程序会创建大部分的负载?)如果数据库主要是你的,并且已经足够接近,每天建立和拆除连接的好处很小。
  3. 这是大多数应用程序所做的,这是我推荐你默认做的。

如果您不想在一夜之间建立连接,则可以将连接池配置为按需打开连接,并在闲置一段时间后关闭它们 - 例如15分钟。这样可以让您随时查询数据库,并且不会有太多空闲连接。