我正在开发一个简单的数据库项目。它有一些将在数据库上执行的功能。我需要有关打开和关闭数据库的建议。以下哪种方式更好?
程序启动时,打开数据库并在程序完成时关闭。
程序启动时,调用函数时,打开数据库,并在此函数结束时关闭数据库。
我很困惑哪一个更好。在第一种情况下,数据库将在程序期间打开。在第二种情况下,数据库打开和关闭操作将在每个函数调用和每个函数执行。这会降低效率并使代码更长。
哪一个更好?
答案 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)
将连接打开时间超过必要的成本非常低,因此这有利于您的想法在程序启动时打开并在退出程序时关闭。