我想知道使用Singleton类连接到MySQL数据库是否存在任何负面的性能问题。特别是我担心在网站繁忙时获取连接所需的时间。单身人士能够“陷入困境”吗?
public static function obtain($server=null, $user=null, $pass=null, $database=null){
if (!self::$instance){
self::$instance = new Database($server, $user, $pass, $database);
}
return self::$instance;
}
答案 0 :(得分:2)
即使你写了,每个PHP请求仍然是一个不同的连接。这就是你想要的。
答案 1 :(得分:1)
从MySQL性能的角度来看,无论你是否在这种情况下使用单例,因为对该页面的每个请求都会创建自己的对象(单例或不单元)和连接,这并不重要。
答案 2 :(得分:1)
您可以使用单例来处理数据库连接,因为即使只有一个请求,您的应用程序也可能会发送多个数据库查询,如果每次重新打开数据库连接,您将失去性能。
但请记住,您始终必须编写聪明的查询并仅为您需要的数据请求您的数据库,并尽可能少。这将使它顺利!