数据库打开和关闭建议

时间:2011-12-21 20:47:21

标签: java mysql sql database

我正在开发一个简单的数据库项目。它有一些将在数据库上执行的功能。我需要有关打开和关闭数据库的建议。以下哪种方式更好?

程序启动时,打开数据库并在程序完成时关闭。

程序启动时,调用函数时,打开数据库,并在此函数结束时关闭数据库。

我很困惑哪一个更好。在第一种情况下,数据库将在程序期间打开。在第二种情况下,数据库打开和关闭操作将在每个函数调用和每个函数执行。这会降低效率并使代码更长。

哪一个更好?

3 个答案:

答案 0 :(得分:1)

更好是主观的。如果您只有少数客户端连接到数据库,那么短时间内可能会打开连接是更好的方法。但是,如果您有数百个客户端需要连接,则可以支持的并发连接数量有限,保持连接长时间打开将是有害的。

打开和关闭数据库的连接会产生一些开销,但您必须平衡该语言是否实际为您连接了连接,因此只显示连接已关闭但如果需要将重用,如果不是经过一段时间后真正关闭,以及许多其他可能的标准。

更好的是以最简单的方式满足您的需求。

答案 1 :(得分:0)

创建一个单独的函数,如getConnection(),它将创建并返回一个Connection对象。放下将在那里创建连接的所有代码。

现在如果在任何函数中你需要数据库连接调用getConnection()

public void myfunction()
{
    javax.sql.Connection con = MyConnectionClass.getConnection();
    con.open();

    // do your business logic here

    con.close();
}

答案 2 :(得分:0)

将连接打开时间超过必要的成本非常低,因此这有利于您的想法在程序启动时打开并在退出程序时关闭。