我使用延迟连接来连接我的DB对象中的数据库.这基本上意味着它不会调用mysql_connect(),直到第一个查询被传递给它,然后它随后跳过重新连接.
现在我在我的DB类中有一个方法,disconnectFromDB()
它调用了几乎所有的调用mysql_close()
和设置$_connected = FALSE
(因此该query()
方法将知道再次连接到DB).应该在每次查询之后(作为私有函数)还是在外部通过对象调用...因为我在想类似的东西(代码只是一个例子)
$students = $db->query('SELECT id FROM students');
$teachers = $db->query('SELECT id FROM teachers');
Run Code Online (Sandbox Code Playgroud)
现在,如果它在每次查询后关闭,那么这会减慢很多,而不是我只是将这一行添加到最后
$db->disconnectFromDB();
Run Code Online (Sandbox Code Playgroud)
或者我应该在页面的最后包含上面的那一行?
有哪些优点/缺点?什么在你的情况下最有效?除了性能损失之外,忘记关闭mySQL连接有什么问题吗?
感谢您花时间回答.
谢谢!
我正在设计一个Web应用程序(实际上,这是一个爱好,我正在尝试自学设计,还有什么比做它更好的方法:).无论如何,我在考虑如何处理我的数据库.我对PDO很满意,我想在我的抽象类中利用PDO.我正在考虑制作单例,因此只有一个数据库连接.这个单例将创建一个PDO连接.
在那之后,我不明白为什么我需要做太多其他事情.然后我可以使用数据库处理程序来调用PDO函数.我可能想要一些辅助函数,但是当它归结为它时,我只会将PDO用于实际的SQL查询.
这种方法有问题吗?与我使用的抽象类相比,它看起来过于简单.